home *** CD-ROM | disk | FTP | other *** search
/ ASP Advantage 1993 / The Association of Shareware Professionals Advantage CD-ROM 1993.iso / files / utilties / boot200 / boot.doc next >
Text File  |  1993-06-29  |  179KB  |  4,248 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.            BBBBBB   OOOOO   OOOOO   TTTTTT         SSSSS   YY  YY  SSSSS
  15.             BB BBB OO   OO OO   OO  T TT T        SS   SS  YY  YY SS   SS
  16.             BB  BB OO   OO OO   OO    TT          SSS      YY  YY SSS
  17.             BBBBB  OO   OO OO   OO    TT            SSS     YYYY    SSS
  18.             BB  BB OO   OO OO   OO    TT              SSS    YY       SSS
  19.             BB BBB OO   OO OO   OO    TT     ##   SS   SS    YY   SS   SS
  20.            BBBBBB   OOOOO   OOOOO    TTTT    ##    SSSSS    YYYY   SSSSS
  21.  
  22.  
  23.  
  24.  
  25.                            BOOT.SYS(tm)   -   Version 2.00
  26.  
  27.  
  28.                         The heavy-duty configuration manager
  29.  
  30.  
  31.  
  32.  
  33.                                     Developed by
  34.                                    Hans Salvisberg
  35.  
  36.                                   Documentation by
  37.                          Hardin Brothers and Hans Salvisberg
  38.  
  39.                                     Published by
  40.                           Salvisberg Software & Consulting
  41.                            Bellevuestr. 18,  CH-3095 Berne
  42.                                      SWITZERLAND
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.                                  _______
  50.                             ____|__     |                (R)
  51.                          --|       |    |-------------------
  52.                            |   ____|__  |  Association of
  53.                            |  |       |_|  Shareware
  54.                            |__|   o   |    Professionals
  55.                          -----|   |   |---------------------
  56.                               |___|___|       MEMBER        
  57.  
  58.  
  59.     BOOT.SYS                       -  2  -                    Version 2.00
  60.  
  61.  
  62.          BOOT.SYS(tm) and the accompanying programs and documentation are
  63.  
  64.  
  65.  
  66.  
  67.  
  68.               Copyright  (C)  1989, 1990, 1991, 1993  Hans Salvisberg
  69.                                 All rights reserved
  70.  
  71.  
  72.  
  73.          BOOT.SYS is a trademark of Hans Salvisberg.  Other product and
  74.          company names are trademarks of their respective owners.
  75.  
  76.  
  77.  
  78.          Acknowledgements
  79.  
  80.          Many thanks to
  81.  
  82.                 *  our users who have provided encouragement, support, and
  83.                    many good ideas,
  84.  
  85.                 *  our beta testers, especially Robin Collins, Jon
  86.                    Fleming, and Ray Tackett, and many more,
  87.  
  88.                 *  the great people at JP Software, who have kindly
  89.                    allowed us to use their beta testing facilities,
  90.  
  91.                 *  the members of ASP;  their help and advice have been
  92.                    invaluable for getting BOOT.SYS to you
  93.  
  94.          BOOT.SYS was developed using Borland C++, Turbo Assembler, and
  95.          Turbo Debugger;  Periscope debugger;  and Spontaneous Assembly.
  96.  
  97.  
  98.  
  99.          Shareware License and Registration
  100.  
  101.          BOOT.SYS is not free and it is not public domain software;
  102.          please see the file LICENSE.DOC for details about your license to
  103.          try out BOOT.SYS.  In short, you may try it out free of charge
  104.          for 30 days.  If you wish to continue using BOOT.SYS after the
  105.          initial 30-day trial period, you must order a registered version;
  106.          see the file ORDER.DOC for details.  If that file is missing,
  107.          type
  108.  
  109.               d:\path\BOOT ORDER
  110.  
  111.  
  112.      BOOT.SYS                       -  3  -                    Version 2.00
  113.  
  114.  
  115.  
  116.  
  117.                                     Contents
  118.  
  119.  
  120.  
  121.                Introduction..........................................5
  122.                     What BOOT.SYS does...............................5
  123.                     System Requirements..............................6
  124.                     User Requirements................................6
  125.  
  126.                Getting Started.......................................7
  127.                     The READ.ME File.................................7
  128.                     Preparing A Reboot Disk..........................7
  129.                     Installation.....................................8
  130.                     Uninstalling BOOT.SYS...........................11
  131.  
  132.                The User's View......................................12
  133.  
  134.                Sample Menus.........................................14
  135.                     Setting up CONFIG.SYS...........................14
  136.                     Setting up AUTOEXEC.BAT.........................18
  137.                     When you install new software...................19
  138.  
  139.                Working with DOS.....................................21
  140.                     The DOS= Command and Memory Managers............21
  141.                     Using F5 and F8 under MS/PC-DOS 6.0.............22
  142.                     The MS/PC-DOS 6.0 INCLUDE= Command..............22
  143.                     Running MemMaker, Optimize, Maximize, etc.......23
  144.                     DR DOS..........................................24
  145.  
  146.                BOOT.SYS Commands....................................25
  147.                     BOOT.SYS........................................25
  148.                     BOOT.SYS Parameters.............................25
  149.                     BOOT.SYS Advanced Parameters....................28
  150.                     BOOT.1 to BOOT.20...............................31
  151.                     BOOT.0..........................................32
  152.                     BOOT.END........................................32
  153.                     BOOT.#..........................................33
  154.                     BOOT.?..........................................33
  155.                     BOOT.A to BOOT.Y................................34
  156.                     BOOT.Z..........................................34
  157.                     BOOT.EDIT.......................................35
  158.                     BOOT.IF.........................................36
  159.                     BOOT.ELSEIF.....................................39
  160.                     BOOT.ELSE.......................................39
  161.                     BOOT.ENDIF......................................39
  162.                     BOOT.NAME.......................................39
  163.                     BOOT.OPTION.....................................40
  164.                     BOOT.REM........................................42
  165.                     BOOT.RENAME.....................................42
  166.                     BOOT.SET and Enhanced Commands..................43
  167.                     BOOT.TOP........................................45
  168.  
  169.  
  170.     BOOT.SYS                       -  4  -                    Version 2.00
  171.  
  172.  
  173.                    Common Sections.................................45
  174.  
  175.               Other CONFIG.SYS Commands............................47
  176.                    DEVICE=d:\path\PAUSE.SYS........................47
  177.                    DEVICE=REM......................................48
  178.                    DEVICE=TOP text.................................48
  179.  
  180.               BOOT.EXE Commands....................................49
  181.                    BOOT with no Command............................50
  182.                    BOOT CLEAR......................................50
  183.                    BOOT COLD.......................................51
  184.                    BOOT Date or Time...............................51
  185.                    BOOT HELP.......................................54
  186.                    BOOT OnceA... ..................................54
  187.                    BOOT SET........................................57
  188.                    BOOT TOUCH......................................57
  189.                    BOOT WARM.......................................59
  190.  
  191.               Named Reboots........................................60
  192.                    Naming Configurations...........................60
  193.                    Selecting a Configuration.......................61
  194.                    Reboot Options..................................62
  195.                    Using Multiple Configuration Names..............63
  196.  
  197.               Advanced Topics......................................64
  198.                    Nested Menus vs. Menu Sequences.................64
  199.                    Using Variables and Conditionals in CONFIG.SYS..65
  200.                    Using BOOT.SYS to manage LAN workstations.......67
  201.                    Sample Files, New Ideas.........................68
  202.  
  203.               When Things Go Wrong.................................69
  204.                    Error Messages and Cures........................69
  205.                    If You Can't Boot Up After Installation.........72
  206.  
  207.               License and Warranty.................................74
  208.  
  209.  
  210.      BOOT.SYS                       -  5  -                    Version 2.00
  211.  
  212.  
  213.  
  214.  
  215.                                   Introduction
  216.  
  217.  
  218.  
  219.           Thank you for trying BOOT.SYS.  We believe that you have selected
  220.           the best and most powerful configuration manager available.  If
  221.           you ever need to change your computer's configuration, BOOT.SYS
  222.           will help you.  If you have been editing your configuration files
  223.           in order to switch from one task to another, BOOT.SYS will speed
  224.           up the reboot process and help you avoid the potentially
  225.           disastrous results of a careless editing error.  And if you keep
  226.           multiple versions of your configuration files, BOOT.SYS will
  227.           reduce those to a single pair of files that will be easy to
  228.           maintain and update.
  229.  
  230.           With BOOT.SYS and its companion programs, you can build menus
  231.           that let you choose the proper configuration every time you boot
  232.           your computer.  Each menu may have up to 20 items, and you may
  233.           have up to 25 menus to define different aspects of your system.
  234.  
  235.           BOOT.SYS also lets you design menus based on the hardware in your
  236.           computer and the operating system you are using.  If you have
  237.           more than one computer, you can use BOOT.SYS to create one set of
  238.           configuration files for them all and let BOOT.SYS decide which
  239.           configuration to use or which menus to display on each.
  240.  
  241.           Whether you are an individual user who needs to juggle two or
  242.           more configurations, or a computer support specialist who needs
  243.           to maintain configurations on hundreds of computers both on and
  244.           off a company network, BOOT.SYS will help you do the job safely
  245.           and efficiently.
  246.  
  247.  
  248.      What BOOT.SYS does
  249.  
  250.           BOOT.SYS takes control of your CONFIG.SYS file.  It passes some
  251.           commands on to DOS for processing and hides other commands from
  252.           DOS.  While it has control of your configuration file, BOOT.SYS
  253.           can display menus, wait for user input, examine your computer's
  254.           configuration, and perform other tests.  It can also create
  255.           environment variables during CONFIG.SYS processing in all
  256.           versions of DOS.
  257.  
  258.           A companion program included in the package, BOOT.EXE, extends
  259.           configuration control to your AUTOEXEC.BAT file and the DOS
  260.           prompt.  In earlier versions of DOS, it creates environment
  261.           strings to indicate which menu choices you made during CONFIG.SYS
  262.           processing.  It can also signal that it's time to perform
  263.           periodic activities like backups and monthly reports, reboot your
  264.           computer from any batch file or the command line, and instruct
  265.           BOOT.SYS how to configure your computer automatically.
  266.  
  267.  
  268.     BOOT.SYS                       -  6  -                    Version 2.00
  269.  
  270.  
  271.  
  272.          Unlike other configuration programs, BOOT.SYS doesn't write to
  273.          your disk nor does it keep multiple configuration files on your
  274.          hard disk.  BOOT.SYS performs all of its magic in RAM while your
  275.          computer is processing the CONFIG.SYS file.  This eliminates all
  276.          risks of corrupting the valuable data on your disks.  It also
  277.          lets you use BOOT.SYS on disk-less PCs.
  278.  
  279.  
  280.     System Requirements
  281.  
  282.          BOOT.SYS will work with any IBM-compatible computer that uses MS-
  283.          DOS or PC-DOS versions 2.11 through 6.0.  It will also work with
  284.          DR-DOS versions 5.0 and 6.0.  BOOT.SYS typically uses less than
  285.          200 bytes of DOS memory;  under the newest DOS versions it does
  286.          not stay resident at all.
  287.  
  288.          BOOT.SYS includes support for color, LCD, and monochrome video
  289.          systems.  It works with ANSI.SYS or a compatible display driver,
  290.          but does not require that you use such a driver.
  291.  
  292.  
  293.     User Requirements
  294.  
  295.          To set up a computer using BOOT.SYS, you must have a general
  296.          understanding of the commands in your CONFIG.SYS and AUTOEXEC.BAT
  297.          files and know how to edit those files with an ASCII editor.
  298.          This manual will not teach you how to create an effective system
  299.          configuration nor will it teach you how to use an ASCII editor.
  300.          See your DOS manual or any of the dozens of books that cover
  301.          those topics if you need help creating or maintaining your
  302.          configuration files.
  303.  
  304.          BOOT.SYS is a powerful utility program for those who need to
  305.          manage multiple system configurations.  However, you must
  306.          understand what configurations you need, and how to create the
  307.          necessary commands for each configuration, before you can use
  308.          BOOT.SYS effectively.
  309.  
  310.          If you set up computers for others, you will find BOOT.SYS
  311.          invaluable.  After you have created the necessary menus for your
  312.          users, they will be able to select a configuration with a couple
  313.          of keystrokes.  Your users will never have to worry about
  314.          managing multiple copies of CONFIG.SYS and AUTOEXEC.BAT;  they
  315.          can just run their machines using the menus that you and BOOT.SYS
  316.          provide.  You can even set up some spare configurations for your
  317.          users to tinker with without disturbing the ones you support.
  318.          You must, of course, have a separate, licensed copy of BOOT.SYS
  319.          for each machine that you use it on.
  320.  
  321.  
  322.      BOOT.SYS                       -  7  -                    Version 2.00
  323.  
  324.  
  325.  
  326.  
  327.                                 Getting Started
  328.  
  329.  
  330.  
  331.  
  332.      The READ.ME File
  333.  
  334.           One of the files in the BOOT.SYS distribution, READ.ME, contains
  335.           information you should read before you begin to install the
  336.           program.  Put the BOOT.SYS diskette in drive A and type
  337.  
  338.                TYPE a:READ.ME | MORE
  339.  
  340.           to view the contents of the file (you may use drive B if you
  341.           prefer).  If you want to print a copy of the file, type
  342.  
  343.                COPY a:READ.ME PRN
  344.  
  345.  
  346.      Preparing A Reboot Disk
  347.  
  348.           It is highly unlikely that you will have any problems when you
  349.           install BOOT.SYS.  However, whenever you make major changes to
  350.           your CONFIG.SYS and AUTOEXEC.BAT files, you should have a reboot
  351.           diskette handy.  If anything goes wrong, such as a power failure
  352.           while you are updating your configuration files, it will be a
  353.           simple matter to boot from your emergency diskette and edit the
  354.           configuration files on your hard disk.  Without a reboot
  355.           diskette, an incorrect instruction in a configuration file may
  356.           keep your computer from booting up at all.
  357.  
  358.           To create a reboot diskette, format a new diskette in your A
  359.           drive with the command
  360.  
  361.                FORMAT A: /S
  362.  
  363.           With older versions of DOS, you will have to copy COMMAND.COM to
  364.           the diskette;  newer DOS versions will copy it for you.  You may
  365.           also want to save a copy of your current configuration files on
  366.           the diskette, along with a simple ASCII editor that you can use
  367.           if you have to edit your configuration files.  Depending on your
  368.           system, you may need additional drivers and programs for
  369.           accessing your disk, for defining a national keyboard layout, or
  370.           for utilizing other hardware devices.  Some users like to keep
  371.           other data and programs on their reboot diskettes, including a
  372.           copy of the CMOS memory data (the information that you see if you
  373.           run your computer's SETUP program).
  374.  
  375.           After you have prepared your reboot diskette, you should test it:
  376.           put the diskette in drive A and reboot your computer to make sure
  377.           that the diskette works and that you can edit the CONFIG.SYS and
  378.  
  379.  
  380.     BOOT.SYS                       -  8  -                    Version 2.00
  381.  
  382.  
  383.          AUTOEXEC.BAT files on your hard disk.  The reboot diskette won't
  384.          do you any good if it won't boot up your machine.
  385.  
  386.          Once you have a working reboot diskette, you are ready to install
  387.          BOOT.SYS.
  388.  
  389.  
  390.     Installation
  391.  
  392.          The BOOT.SYS installation procedure, which is started by a
  393.          program called INSTALL.BAT, serves three purposes.  First, it
  394.          extracts and decompresses the program files from the condensed
  395.          library file in which they are shipped.  You must use the
  396.          installation program to perform this extraction;  other
  397.          decompression programs will not work.
  398.  
  399.          Second, the installation program, or Install for short, examines
  400.          your current configuration files and suggests a new pair of files
  401.          that utilize BOOT.SYS's features;  it does not modify your
  402.          configuration files.  Install can work with your configuration
  403.          files if they are in one of three different formats:
  404.  
  405.            *  single-configuration setup
  406.               Install creates sample configuration files from your current
  407.               files to help you get up and running quickly.  These sample
  408.               files will present a single menu that will let you pick
  409.               between your current configuration and a simple, "generic"
  410.               configuration.
  411.  
  412.            *  MS/PC-DOS 6.0 multi-configuration setup
  413.               Install translates your DOS 6 CONFIG.SYS file to BOOT.SYS
  414.               syntax.  You will get the exact same configurations under
  415.               BOOT.SYS, with the additional power of BOOT.SYS to make
  416.               further refinements.
  417.  
  418.            *  BOOT.SYS multi-configuration setup (any version)
  419.               Install examines your CONFIG.SYS file and makes any
  420.               necessary changes to adapt it to the syntax required by this
  421.               version.
  422.  
  423.          Install can only work correctly if your CONFIG.SYS is in one of
  424.          these formats and if it doesn't have any errors in it.
  425.  
  426.          Finally, Install creates documentation based on your system and
  427.          original configuration files.  The documentation file is stored
  428.          on your disk as BOOTINST.LOG.  Please read it carefully;  it is
  429.          an essential part of the BOOT.SYS documentation.  The file will
  430.          explain what Install has done and what file names it has used.
  431.          The BOOTINST.LOG file also will contain a complete listing of
  432.          both the suggested configuration files and your originals, along
  433.          with a detailed explanation of the changes.
  434.  
  435.  
  436.      BOOT.SYS                       -  9  -                    Version 2.00
  437.  
  438.  
  439.  
  440.         Running Install
  441.  
  442.           In the shareware version of BOOT.SYS, Install is called
  443.           BOOTINST.EXE, and it is a self-extracting self-installing
  444.           archive. You should not have this text unless you've already run
  445.           BOOTINST.
  446.  
  447.           To start Install insert the BOOT.SYS distribution diskette into
  448.           drive A and type
  449.  
  450.                a:
  451.                INSTALL
  452.  
  453.           You may, of course, use drive B if you prefer.
  454.  
  455.           Install will guide you through the installation.  For your
  456.           information, we list the major steps below, but you should read
  457.           the information presented by Install and follow its prompts.
  458.  
  459.           Install will lead you through these major steps:
  460.  
  461.             1. You will be asked to enter the directory where you wish to
  462.                store the BOOT.SYS files.  We suggest using C:\BOOT and have
  463.                based the remainder of this discussion on that suggestion.
  464.                If you choose a different directory, you should modify the
  465.                following instructions and descriptions appropriately.  The
  466.                directory does not need to exist before you start the
  467.                installation procedure.
  468.  
  469.                If you are upgrading from a previous version of BOOT.SYS, we
  470.                suggest you use a different directory to keep the two
  471.                versions separate.  If you overwrite your old BOOT.SYS files
  472.                and for some reason you don't complete the installation and
  473.                update your CONFIG.SYS and AUTOEXEC.BAT files, you may not
  474.                be able to boot up successfully!
  475.  
  476.                Do not install BOOT.SYS on your distribution diskette!
  477.  
  478.             2. You will be asked to confirm or enter the names of your
  479.                configuration files.  They are usually called C:\CONFIG.SYS
  480.                and C:\AUTOEXEC.BAT.
  481.  
  482.             3. Install will ask you to confirm or enter the commands that
  483.                will load the BOOT.SYS executable programs.  For most users,
  484.                the suggested defaults will be correct.  Install goes
  485.                through this procedure to allow you to change the drive
  486.                and/or path in case you use a program like Stacker which
  487.                reassigns your drive letters during execution of CONFIG.SYS
  488.                or AUTOEXEC.BAT.
  489.  
  490.             4. Install will create backup copies of your original
  491.                configuration files in two places.  The names of the backup
  492.  
  493.  
  494.     BOOT.SYS                       -  10  -                   Version 2.00
  495.  
  496.  
  497.               files will be included in the BOOTINST.LOG file.  The backup
  498.               files will usually be called  c:\config.001
  499.                    c:\autoexec.001
  500.                    c:\boot\config.BEF
  501.                    c:\boot\autoexec.BEF
  502.  
  503.            5. Install next creates suggested configuration files for you.
  504.               These files will usually be named
  505.                    c:\boot\config.AFT
  506.                    c:\boot\autoexec.AFT
  507.  
  508.            6. Install will offer to print out the installation log, which
  509.               is stored as
  510.                    c:\boot\BOOTINST.LOG
  511.  
  512.          Be sure to print and read this file.  It lists the old and new
  513.          versions of your configuration files, along with specific
  514.          comments customized for your system.
  515.  
  516.          WE CONSIDER THE INSTALLATION LOG TO BE PART OF YOUR
  517.          DOCUMENTATION!  Install may find errors or potential problems in
  518.          your files, or it may make suggestions for improving your files.
  519.          The log may also contain specific instructions about how to
  520.          proceed.
  521.  
  522.            7. Finally, Install will display a few more informational
  523.               screens and then end.
  524.  
  525.        Reboot
  526.  
  527.          We know only too well how some installation programs can mess up
  528.          users' configuration files.  We have tried our best to make
  529.          Install work with all configuration files, but it is possible
  530.          that you have an unusual CONFIG.SYS file which we did not
  531.          foresee.  We rely on you to examine the BOOTINST.LOG file and
  532.          then the *.AFT configuration files.  Make sure the suggested
  533.          configuration files look reasonable before you try to boot up
  534.          with them.
  535.  
  536.          If you are satisfied with the *.AFT files, copy them over your
  537.          old files like this:
  538.  
  539.               COPY c:\boot\config.AFT   c:\config.sys
  540.               COPY c:\boot\autoexec.AFT c:\autoexec.bat
  541.  
  542.          and then reboot your computer.
  543.  
  544.          Watch the screen carefully as your computer boots up for any
  545.          error messages or other irregularities.  You should get the
  546.          BOOT.SYS menu and be able to select which configuration you wish
  547.          to use.  Try each available configuration to make sure it works
  548.          as intended.
  549.  
  550.  
  551.      BOOT.SYS                       -  11  -                   Version 2.00
  552.  
  553.  
  554.  
  555.           If you don't see the BOOT.SYS menu, please refer to "If You Can't
  556.           Boot Up After Installation..." on page 78.
  557.  
  558.           If you see some error messages, but they scroll by too fast to
  559.           read, you can try three things:
  560.  
  561.             *  If you're using MS/PC-DOS 6.0 use the F8 key (see page 23).
  562.  
  563.             *  Press the Pause key to temporarily "freeze" your machine and
  564.                then any other key to continue.
  565.  
  566.                Some people claim their PCs are so fast that it's impossible
  567.                to catch error messages this way.  We have found that we can
  568.                read all messages on even the fastest machines using the
  569.                following trick: press Pause early in the boot process;  put
  570.                your thumb on the Enter key and your middle finger on the
  571.                Pause key;  now hit both keys almost at once, the Enter key
  572.                just a fraction of a second before the Pause key, and the
  573.                boot process will advance just a little bit.  Do this
  574.                repeatedly, and with some practice you'll be able to single-
  575.                step your CONFIG.SYS and other programs or batch files that
  576.                produce scrolling output.
  577.  
  578.             *  Use the PAUSE.SYS program to pause execution of CONFIG.SYS
  579.                at selected points (see page 50).
  580.  
  581.         Where To Go From Here...
  582.  
  583.           Use your editor to customize your configurations, add new
  584.           configurations, and improve the sophistication of your
  585.           configuration files by using the advanced features of BOOT.SYS
  586.           that are explained in this documentation.
  587.  
  588.  
  589.      Uninstalling BOOT.SYS
  590.  
  591.           If you wish to uninstall BOOT.SYS, you can either replace
  592.           CONFIG.SYS and AUTOEXEC.BAT with the backups that were created
  593.           when you installed BOOT.SYS, or you can use your editor to
  594.           extract a single configuration to use as your new CONFIG.SYS and
  595.           AUTOEXEC.BAT files.  Then you can delete the files in the
  596.           BOOT.SYS directory.  BOOT.SYS does not make any changes to the
  597.           boot sector or other vital parts of your disks or DOS.
  598.  
  599.  
  600.     BOOT.SYS                       -  12  -                   Version 2.00
  601.  
  602.  
  603.  
  604.  
  605.                                The User's View
  606.  
  607.  
  608.  
  609.          When BOOT.SYS is installed on a computer, the user typically sees
  610.          two text windows on the screen during the boot process.  The
  611.          upper window contains messages or any text that you would like to
  612.          have displayed.  The lower window contains a menu.  Depending on
  613.          the BOOT.SYS instructions in the CONFIG.SYS file, several menus
  614.          may appear sequentially and some menu choices may lead to
  615.          submenus.
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.                          (We have omitted the screen shot here
  642.                        because the box characters in the IBM PC
  643.                         character set do not print well on some
  644.                      printers.  However, this page is repeated at
  645.                       the end of the file, with the screen shot.)
  646.  
  647.                                 Sample BOOT.SYS screen
  648.  
  649.  
  650.          The user may select an item in several different ways.  The most
  651.          intuitive selection method is moving the highlight or selection
  652.          bar to the desired item and pressing the Enter or CursorRight
  653.          key.  New users often favor this method, but experienced users
  654.          prefer a quicker way of making a selection, especially once they
  655.          know what to expect from each menu.
  656.  
  657.  
  658.      BOOT.SYS                       -  13  -                   Version 2.00
  659.  
  660.  
  661.  
  662.           When you create BOOT.SYS menus, you can designate a quick key for
  663.           each menu item.  The quick key, which is a character in each menu
  664.           item's text, will be highlighted on the screen.  Once the quick
  665.           keys have been defined, the user need only press the appropriate
  666.           key to select a menu item.
  667.  
  668.           Also, each menu item is preceded by a number from 1 to 20.  A
  669.           user can select an item by pressing a numeric key or a function
  670.           key.  For menu items 1 through 9, the user can make a selection
  671.           by pressing the numerals 1 through 9 or the function keys F1
  672.           through F9.  The following chart shows the selection keys for
  673.           menu items 10 through 20.
  674.  
  675.  
  676.                   Menu Item  Numeric Keys            Function
  677.                                                      Keys
  678.  
  679.                       10     0                       F10
  680.                       11     !  (Shift-1)   or       Shift-F1 or
  681.                              -  (minus)              F11
  682.                       12     @  (Shift-2)   or       Shift-F2 or
  683.                              =  (equal)              F12
  684.                       13     #  (Shift-3)            Shift-F3
  685.                       14     $  (Shift-4)            Shift-F4
  686.                       15     %  (Shift-5)            Shift-F5
  687.                       16     ^  (Shift-6)            Shift-F6
  688.                       17     &  (Shift-7)            Shift-F7
  689.                       18     *  (Shift-8)            Shift-F8
  690.                       19     (  (Shift-9)            Shift-F9
  691.                       20     )  (Shift-0)            Shift-F10
  692.  
  693.  
  694.           The special characters listed here are those on the US keyboard.
  695.           If you have a non-US keyboard, your international keyboard driver
  696.           will not be loaded before BOOT.SYS displays its menus.  Just use
  697.           shift-1 through shift-0 in the top row.  The minus and equal sign
  698.           are the two keys to the right of the 0.
  699.  
  700.           Depending on the state of NumLock, you can use the keys on the
  701.           numeric keypad either as cursor keys or for selecting items 1
  702.           through 10 (0) (see the /N parameter on page 28 for information
  703.           about controlling NumLock).  The "shifted digits" cannot be
  704.           entered with the numeric keypad.
  705.  
  706.  
  707.     BOOT.SYS                       -  14  -                   Version 2.00
  708.  
  709.  
  710.  
  711.  
  712.                                  Sample Menus
  713.  
  714.  
  715.  
  716.          There are many ways to use BOOT.SYS to control your computer's
  717.          configuration.  At one extreme, you can have it display a single
  718.          menu of 2 or 3 possible configurations.  At the other, you can
  719.          write a single set of configuration files for all of the
  720.          computers on a network.  This section demonstrates the basics of
  721.          using BOOT.SYS.  See page 69 for tips about using the advanced
  722.          features built into the package.
  723.  
  724.  
  725.     Setting up CONFIG.SYS
  726.  
  727.          You can let BOOT.SYS control all or part of your CONFIG.SYS file.
  728.          If it controls just part of the file, the commands before and
  729.          after the BOOT.SYS section will be executed normally.
  730.  
  731.          The beginning of the BOOT.SYS section of your CONFIG.SYS file
  732.          must be marked with the command
  733.  
  734.               DEVICE=d:\path\BOOT.SYS
  735.  
  736.          The "d:" and "\path" in that line are the drive and directory
  737.          that contain the BOOT.SYS program.  For a complete list of the
  738.          parameters or options that can be added to this line, see
  739.          page 26.
  740.  
  741.          The last line of the BOOT.SYS section of your CONFIG.SYS file
  742.          must be marked with this command:
  743.  
  744.               DEVICE=BOOT.END
  745.  
  746.          Although this looks like a standard DEVICE statement, it really
  747.          isn't.  You may not include a drive and path.  Also, this line
  748.          will never be processed by DOS.  It is one of the lines that
  749.          BOOT.SYS will hide before DOS gets a chance to execute it.
  750.          However, the DEVICE= part of the line is necessary to prevent DOS
  751.          from generating an error message before it gives control to
  752.          BOOT.SYS.
  753.  
  754.          The "DEVICE=BOOT." part of the line defines this as a BOOT.SYS
  755.          command.  The heart of the line, which begins after the period,
  756.          is the name of the command plus any additional information.
  757.  
  758.          Let's assume that you want to create a simple configuration file
  759.          with two choices: Windows and DOS.  Your CONFIG.SYS file could
  760.          look like this, without the line numbers:
  761.  
  762.  
  763.      BOOT.SYS                       -  15  -                   Version 2.00
  764.  
  765.  
  766.  
  767.                1.  DEVICE=d:\path\BOOT.SYS
  768.                2.  DEVICE=BOOT.TOP My BOOT.SYS Configuration Menu
  769.                3.  DEVICE=BOOT.1 &Windows Configuration
  770.                4.    DEVICE=BOOT.SET BOOT=Windows
  771.                5.    {commands for Windows configuration}
  772.                6.  DEVICE=BOOT.2 &DOS Configuration
  773.                7.    DEVICE=BOOT.SET BOOT=DOS
  774.                8.    {commands for DOS configuration}
  775.                9.  DEVICE=BOOT.END
  776.  
  777.           The first and last lines should look familiar.  They delineate
  778.           the section of the file that BOOT.SYS controls.  In this case,
  779.           BOOT.SYS is responsible for the entire file.
  780.  
  781.           The second line, which begins DEVICE=BOOT.TOP, creates a message
  782.           that will appear in the top window on the screen.  You can
  783.           display several lines of text, if you wish, with multiple
  784.           BOOT.TOP commands.
  785.  
  786.           The third line, DEVICE=BOOT.1, defines the first menu item that
  787.           the user will see.  The ampersand [&] in front of the "W" in
  788.           Windows tells BOOT.SYS that the "W" is a quick key for this menu
  789.           choice.  The next line, DEVICE=BOOT.SET, creates an environment
  790.           variable called BOOT with the value "WINDOWS."  This variable can
  791.           be used in your AUTOEXEC.BAT file to select commands that you
  792.           want to execute there for the Windows configuration (see
  793.           page 19).
  794.  
  795.           You would then replace the fifth line with all the CONFIG.SYS
  796.           commands you normally use when you want to configure your
  797.           computer to run Windows.  (We use curly braces to mark comments.)
  798.  
  799.           Lines 6 and 7 are the menu item text and BOOT name for the DOS
  800.           configuration.  Notice that the "D" in "DOS" in line 6 has been
  801.           defined as the quick key.  Replace Line 8 with the configuration
  802.           commands that you use when you want to boot your computer for use
  803.           with DOS applications.
  804.  
  805.           The last line, line 9, tells BOOT.SYS that it has reached the end
  806.           of the text that it is supposed to process.
  807.  
  808.           When you save this CONFIG.SYS file and reboot your computer, you
  809.           will see two windows on the screen.  The top window contains the
  810.           text "My BOOT.SYS Configuration Menu."  The bottom window
  811.           contains a menu with two choices: "1 - Windows Configuration" and
  812.           "2 - DOS Configuration."  You can make a choice by moving the
  813.           selection bar and pressing Enter, by pressing '1' or '2' (or F1
  814.           or F2) for the menu option numbers, or by using a quick key, 'W'
  815.           or 'D.'
  816.  
  817.           The corresponding AUTOEXEC.BAT file is on page 19.
  818.  
  819.  
  820.     BOOT.SYS                       -  16  -                   Version 2.00
  821.  
  822.  
  823.  
  824.        Two Simple Menus
  825.  
  826.          Many times, you may want two or more menus of choices.  For
  827.          example, you might use one menu to decide whether to install a
  828.          RAM disk and the next menu to decide whether to load ANSI.SYS.
  829.  
  830.          Whenever you have more than one menu, you have to tell BOOT.SYS
  831.          where each one starts and stops.  The command DEVICE=BOOT.A
  832.          defines the beginning of the first menu, while DEVICE=BOOT.B
  833.          defines the start of the second menu.  You can create up to 25
  834.          menus in this manner.  The last menu, whatever its letter, must
  835.          be terminated with the command DEVICE=BOOT.Z.
  836.  
  837.          This sample CONFIG.SYS file has two menus, each with 2 choices:
  838.  
  839.               DEVICE=d:\path\BOOT.SYS /T5
  840.  
  841.               DEVICE=BOOT.A /D2
  842.                 DEVICE=BOOT.TOP Do you want a RAM disk?
  843.                 DEVICE=BOOT.1 &No
  844.                 DEVICE=BOOT.2 &Yes, 64K RAM Disk
  845.                   DEVICE=C:\DOS\RAMDRIVE.SYS 64K
  846.  
  847.               DEVICE=BOOT.B /D1
  848.                 DEVICE=BOOT.TOP Do you need ANSI.SYS?
  849.                 DEVICE=BOOT.1 &No
  850.                 DEVICE=BOOT.2 &Yes, install ANSI.SYS
  851.                   DEVICE=C:\DOS\ANSI.SYS
  852.  
  853.               DEVICE=BOOT.Z
  854.               DEVICE=BOOT.END
  855.  
  856.          This example demonstrates several BOOT.SYS features.  In the
  857.          first line, the /T5 parameter instructs the program to wait 5
  858.          seconds for a user response to each menu.  If the user doesn't
  859.          respond, the program will select the default menu item and then
  860.          continue.
  861.  
  862.          The second line, DEVICE=BOOT.A /D2, defines the beginning of menu
  863.          A, the first menu that the user will see.  The /D2 parameter sets
  864.          the second menu choice as the default.  The selection bar will be
  865.          on that choice when the menu is displayed, and that choice will
  866.          be selected automatically if the user does not respond within the
  867.          time-out period.
  868.  
  869.          The following four lines define a 2-choice menu, just as in the
  870.          first example, and the action that should be taken if the user
  871.          selects the second choice.  In this menu, there aren't any
  872.          actions for the first choice, no RAM disk.
  873.  
  874.          The second menu begins with the line DEVICE=BOOT.B /D1.  It
  875.          defines the first choice as the default item.  In this case, the
  876.  
  877.  
  878.      BOOT.SYS                       -  17  -                   Version 2.00
  879.  
  880.  
  881.           /D1 isn't strictly needed, since BOOT.SYS will select the first
  882.           item as the default unless you specifically name a different one.
  883.           However, the /D1 makes the operation of the menu easier for human
  884.           readers to understand and edit if you decide to change the
  885.           default.  The remainder of the second menu follows the same
  886.           structure as the first.
  887.  
  888.           The line DEVICE=BOOT.Z defines the end of the last menu.
  889.           Similarly, the line DEVICE=BOOT.END defines the end of the
  890.           section of CONFIG.SYS that BOOT.SYS controls.
  891.  
  892.         Nested Menus
  893.  
  894.           In a series of menus, like those in the last example, the order
  895.           and number of menus never changes and the menus are independent
  896.           of each other.  BOOT.SYS also lets you use another kind of menu:
  897.           submenus.  If the user picks a specific menu choice, a new series
  898.           of menus appears based on the choice.  Submenus can even lead to
  899.           their own submenus.  The only restriction is that not more than
  900.           25 menus can appear on the user's screen during BOOT.SYS
  901.           execution.  It doesn't matter to BOOT.SYS whether those menus are
  902.           arranged in a series, as submenus, or as a combination of both.
  903.  
  904.           In the previous example, every time the user chooses to install a
  905.           RAM disk, that disk will be 64K bytes long.  This next example
  906.           uses submenus to let the user choose the size of the RAM disk and
  907.           whether COMMAND.COM should be copied to the RAM disk for more
  908.           efficient operation at the DOS prompt.
  909.  
  910.                DEVICE=d:\path\BOOT.SYS /T5
  911.  
  912.                DEVICE=BOOT.A /D2
  913.                  DEVICE=BOOT.TOP Do you want a RAM disk?
  914.                  DEVICE=BOOT.1 &No
  915.                  DEVICE=BOOT.2 &Yes, RAM Disk
  916.                    DEVICE=BOOT.A /D1
  917.                      DEVICE=BOOT.TOP What size RAM disk do you need?
  918.                      DEVICE=BOOT.1 64K?
  919.                        DEVICE=c:\dos\RAMDRIVE.SYS 64
  920.                      DEVICE=BOOT.2 128K?
  921.                        DEVICE=c:\dos\RAMDRIVE.SYS 128
  922.                    DEVICE=BOOT.B /D1
  923.                      DEVICE=BOOT.TOP     Do you want to copy
  924.                      DEVICE=BOOT.TOP Command.Com to the RAM disk?
  925.                      DEVICE=BOOT.1 Yes
  926.                        DEVICE=BOOT.SET Copy_CC=Y
  927.                      DEVICE=BOOT.2 No
  928.                    DEVICE=BOOT.Z
  929.  
  930.                DEVICE=BOOT.B /D1
  931.                  DEVICE=BOOT.TOP Do you need ANSI.SYS?
  932.                  DEVICE=BOOT.1 &No
  933.                  DEVICE=BOOT.2 &Yes, install ANSI.SYS
  934.  
  935.  
  936.     BOOT.SYS                       -  18  -                   Version 2.00
  937.  
  938.  
  939.                   DEVICE=c:\dos\ANSI.SYS
  940.  
  941.               DEVICE=BOOT.Z
  942.               DEVICE=BOOT.END
  943.  
  944.          As this example shows, it is easy to create submenus.  The
  945.          sequence of DEVICE=BOOT.A through DEVICE=BOOT.Z commands defines
  946.          a menu or series of menus.  If this sequence is inserted as part
  947.          of the activity that occurs for a particular menu choice, a
  948.          submenu is created.  BOOT.A can be preceded, and BOOT.Z can be
  949.          followed, by DOS and/or BOOT.SYS commands that will be executed
  950.          regardless of the submenu choice the user makes.
  951.  
  952.          This example also shows one other interesting wrinkle.  There is
  953.          no way to copy COMMAND.COM to a RAM disk during CONFIG.SYS
  954.          operations.  Instead, the command DEVICE=BOOT.SET Copy_CC=Y is
  955.          used to create an environment variable called COPY_CC.  In your
  956.          AUTOEXEC.BAT file, you could then include the following lines to
  957.          actually copy the file and make the copy the active command
  958.          processor:
  959.  
  960.               IF "%COPY_CC%"=="Y"  COPY c:\dos\COMMAND.COM d:
  961.               IF "%COPY_CC%"=="Y"  SET COMSPEC=d:\COMMAND.COM
  962.  
  963.          There are several other BOOT.SYS techniques that you will find
  964.          handy for complex menu systems.  See the reference section of
  965.          this manual, beginning on page 26, and the chapter called
  966.          Advanced Topics for more details about them.
  967.  
  968.  
  969.     Setting up AUTOEXEC.BAT
  970.  
  971.          Once you have BOOT.SYS set up in your CONFIG.SYS file, you'll
  972.          probably want to pass information about the user's choices to
  973.          AUTOEXEC.BAT for further processing.  For example, if you choose
  974.          between DOS and Windows configurations in CONFIG.SYS, you may
  975.          want to load either a DOS shell or Windows in AUTOEXEC.BAT.
  976.  
  977.          BOOT.SYS communicates with your AUTOEXEC.BAT file via environment
  978.          variables that you define in CONFIG.SYS with the DEVICE=BOOT.SET
  979.          command.  If you use MS/PC-DOS 6.0 or DR DOS, you can also use
  980.          the standard SET command in CONFIG.SYS to create environment
  981.          variables.  See page 46 for a discussion of the minor differences
  982.          between these two commands.
  983.  
  984.          The DEVICE=d:\path\BOOT.SYS command in CONFIG.SYS has a
  985.          counterpart in AUTOEXEC.BAT:
  986.  
  987.               d:\path\BOOT.EXE SET
  988.  
  989.          or BOOT SET for short -- do not confuse this with
  990.          (DEVICE=)BOOT.SET!  Under DOS versions that don't support SET in
  991.          CONFIG.SYS, BOOT SET reads the environment variables that
  992.  
  993.  
  994.      BOOT.SYS                       -  19  -                   Version 2.00
  995.  
  996.  
  997.           BOOT.SYS placed in resident memory and copies them into the
  998.           environment.  But BOOT SET performs other house keeping tasks as
  999.           well, and YOU MUST HAVE IT AT THE BEGINNING OF YOUR AUTOEXEC.BAT
  1000.           FILE UNDER ALL VERSIONS OF DOS.
  1001.  
  1002.           The example CONFIG.SYS file on page 15 above sets the variable
  1003.           BOOT to WINDOWS, if the user wants to configure the computer for
  1004.           Microsoft Windows, or to DOS, if the user wants to run DOS
  1005.           applications.  Here is a companion AUTOEXEC.BAT file that uses
  1006.           the variable to continue the configuration process:
  1007.  
  1008.                @ECHO OFF
  1009.                d:\path\BOOT SET
  1010.                IF ERRORLEVEL 255 GOTO No_BOOTSYS
  1011.                GOTO %BOOT%
  1012.  
  1013.                :No_BOOTSYS
  1014.                  ECHO BOOT.SYS was not properly installed
  1015.                  GOTO END
  1016.  
  1017.                :DOS
  1018.                  {DOS configuration commands go here}
  1019.                  GOTO END
  1020.  
  1021.                :Windows
  1022.                  {Windows configuration commands go here}
  1023.                  GOTO END
  1024.  
  1025.                :END
  1026.  
  1027.           After the standard @ECHO OFF, this AUTOEXEC.BAT file begins with
  1028.           the BOOT SET command.  If that command returns an Errorlevel of
  1029.           255, BOOT.EXE could not find any trace of BOOT.SYS, which usually
  1030.           means something went wrong in CONFIG.SYS.  In this example, the
  1031.           batch file recovers from the error by jumping to the label
  1032.           No_BOOTSYS, where it displays an error message and then ends.
  1033.  
  1034.           Because the No_BOOTSYS section is placed immediately after the
  1035.           GOTO command, that section will also be executed if the GOTO
  1036.           command fails, perhaps because of a spelling error in the
  1037.           variable value or the batch file's labels.  It's a good idea to
  1038.           organized batch files this way so you can see right away when
  1039.           something goes wrong.
  1040.  
  1041.           If BOOT SET was successful, the next line branches to the label
  1042.           %BOOT%.  The batch file interpreter will look up the environment
  1043.           variable called BOOT, and substitute its text in place of %BOOT%.
  1044.           Then it will jump to the label that you defined with BOOT.SYS.
  1045.           In this case, that label will be either DOS or Windows.  The
  1046.           lines following each label are responsible for finishing the
  1047.           appropriate configuration and initialization.
  1048.  
  1049.  
  1050.     BOOT.SYS                       -  20  -                   Version 2.00
  1051.  
  1052.  
  1053.  
  1054.          You can define any number of variables (subject to a 2K bytes
  1055.          limit under MS/PC-DOS 5.0 and earlier) and they will all be
  1056.          transferred to the DOS environment.  If you want to release the
  1057.          environment space they use, you can, of course, use the DOS SET
  1058.          command like this:
  1059.  
  1060.               SET name=
  1061.  
  1062.  
  1063.     When you install new software
  1064.  
  1065.          Many application programs have installation routines that help
  1066.          neophyte users configure their computers correctly.  These
  1067.          routines typically install the application in its own
  1068.          subdirectory and then update the CONFIG.SYS and AUTOEXEC.BAT
  1069.          files to make the program run most efficiently.
  1070.  
  1071.          Unfortunately, these programs know nothing about BOOT.SYS or
  1072.          carefully crafted configuration files.  When some installation
  1073.          routines become confused, they can scatter extraneous commands
  1074.          throughout your configuration files and create all sorts of
  1075.          damage;  some even purposely remove commands for loading
  1076.          competing products.
  1077.  
  1078.          Installing a new application safely, especially when you are
  1079.          using BOOT.SYS or any unusual commands in your configuration
  1080.          files, is a 3-step process.  First, make sure that you have saved
  1081.          a copy of your CONFIG.SYS and AUTOEXEC.BAT files.  If something
  1082.          goes wrong during the installation, it will be a simple matter to
  1083.          restore the files from the copies and reboot.  If you don't have
  1084.          backup copies, you may have to spend hours reconstructing your
  1085.          carefully tuned configuration files.
  1086.  
  1087.          Before you start the installation program, rename your
  1088.          configuration files.  Once you have done so, the installation
  1089.          program will not be able to find them.  Instead, it will probably
  1090.          create new CONFIG.SYS and AUTOEXEC.BAT files.  It will put the
  1091.          commands that it requires in those new files.
  1092.  
  1093.          After the program is installed, you can examine the new
  1094.          configuration files and see what commands the application wants.
  1095.          You can then use those files as a guide for creating a
  1096.          configuration in your original files for the new application or
  1097.          adjusting one or more of your existing configurations.  Don't
  1098.          forget to give your configuration files their original names
  1099.          before rebooting.
  1100.  
  1101.          You can avoid some of this work if you are willing to patch two
  1102.          system files and change DOS's names for CONFIG.SYS and
  1103.          AUTOEXEC.BAT.  This technique is not for the faint of heart!  If
  1104.          you are reluctant to patch IO.SYS (or IBMBIO.COM) and
  1105.          COMMAND.COM, don't do it.  But if you have a bootable diskette
  1106.  
  1107.  
  1108.      BOOT.SYS                       -  21  -                   Version 2.00
  1109.  
  1110.  
  1111.           and some experience patching files, you should have little
  1112.           problem changing the names that DOS uses for the configuration
  1113.           files.
  1114.  
  1115.           The advantage of making the patch is that installation programs
  1116.           won't bother your installation files because they won't find a
  1117.           CONFIG.SYS or AUTOEXEC.BAT file on your disk.  The disadvantage
  1118.           is that if you use the FORMAT /S command, the patched versions of
  1119.           these files will be moved to the floppy diskette, so you'll have
  1120.           to continue to use your new names for the configuration files on
  1121.           the diskette.
  1122.  
  1123.  
  1124.     BOOT.SYS                       -  22  -                   Version 2.00
  1125.  
  1126.  
  1127.  
  1128.  
  1129.                                Working with DOS
  1130.  
  1131.  
  1132.  
  1133.          BOOT.SYS and its companion programs work with all versions of
  1134.          MS/PC-DOS from 2.11 to 6.0 and DR DOS 5.0 and 6.0.  In general,
  1135.          once you have learned BOOT.SYS, you can use it with very few
  1136.          changes regardless of the DOS version that happens to be
  1137.          installed on your computer.  If you wish to share a CONFIG.SYS
  1138.          file among different DOS versions you may have to use BOOT.IF to
  1139.          adjust to the differences between the various DOS versions.
  1140.  
  1141.  
  1142.     The DOS= Command and Memory Managers
  1143.  
  1144.          For most practical purposes, you can assume that DOS executes the
  1145.          commands in your CONFIG.SYS file one at a time, as it reads them
  1146.          from the file.  However, the DOS= command, introduced in MS/PC-
  1147.          DOS 5.0, is different.  DOS scans through the entire file,
  1148.          looking for DOS= commands, before it executes any device drivers,
  1149.          including BOOT.SYS.
  1150.  
  1151.          If you want to have the same DOS= settings in all of your
  1152.          configurations, we suggest that you use the desired command
  1153.          (including DOS=HIGH, DOS=LOW, DOS=UMB, and DOS=NOUMB and their
  1154.          combinations) before the DEVICE=d:\path\BOOT.SYS command that
  1155.          defines the beginning of the BOOT.SYS section of your CONFIG.SYS
  1156.          file.
  1157.  
  1158.          On the other hand, if you want to have different DOS= settings in
  1159.          different configurations, you must follow a fairly rigid formula
  1160.          to give BOOT.SYS control over the settings.  Your CONFIG.SYS file
  1161.          should look like this:
  1162.  
  1163.               {global commands}
  1164.               DEVICE=d:\path\BOOT.SYS
  1165.               DOS=LOW
  1166.                  {everything else here}
  1167.               DEVICE=BOOT.END
  1168.               DOS=HIGH,NOUMB
  1169.               {global commands, no DOS= commands!}
  1170.  
  1171.          As DOS scans through CONFIG.SYS, later settings override earlier
  1172.          ones, and it ends up with DOS=HIGH,NOUMB immediately below
  1173.          BOOT.END.  DOS=HIGH is required by BOOT.SYS, because it can force
  1174.          DOS low if it's set to go high, but not the other way around;
  1175.          DOS=NOUMB provides the usual default.  No other DOS= commands
  1176.          should follow this line.  When BOOT.SYS runs, it sees the DOS=LOW
  1177.          command immediately after the BOOT.SYS line in the global
  1178.          section, and it takes this as the default, just like DOS.
  1179.  
  1180.  
  1181.      BOOT.SYS                       -  23  -                   Version 2.00
  1182.  
  1183.  
  1184.  
  1185.           Within this framework, all you do is add DOS=HIGH and/or DOS=UMB
  1186.           commands to those configurations that need them.
  1187.  
  1188.           BOOT.SYS cannot control the DOS= settings if you install your
  1189.           memory manager before BOOT.SYS or after BOOT.END.  If you are
  1190.           going to use the same memory manager for all configurations, put
  1191.           the correct DEVICE= command on the line immediately after DOS=LOW
  1192.           in the template above.  If you want to use a different memory
  1193.           manager or different settings, you can add the correct memory
  1194.           manager command to each of your configurations.
  1195.  
  1196.           The versions of HIMEM.SYS delivered with DOS 5, DOS 6, and
  1197.           Windows 3.1 are designed to load part of themselves into the HMA
  1198.           or High Memory Area when DOS=HIGH is active.  Unfortunately, they
  1199.           grow considerably (to about 33K instead of about 4K) when
  1200.           BOOT.SYS is used to set DOS=LOW.  This problem doesn't exist with
  1201.           the version of HIMEM.SYS that was distributed with Windows 3.0,
  1202.           nor with any of the third-party memory managers (like QEMM-386,
  1203.           386MAX, etc.);  if you need a memory manager for your DOS=LOW
  1204.           configurations, we suggest you use one of these.
  1205.  
  1206.  
  1207.      Using F5 and F8 under MS/PC-DOS 6.0
  1208.  
  1209.           Pressing F8 early in the boot process under MS/PC-DOS 6.0 results
  1210.           in single-step execution of CONFIG.SYS.  DOS will ask whether to
  1211.           execute each line.  As explained above,  DOS prescans the DOS=
  1212.           command, and you will first get prompts for all the DOS= commands
  1213.           in your entire CONFIG.SYS.  Press 'Y' for all of them.
  1214.  
  1215.           Another peculiarity is that you may get a second prompt for
  1216.           loading BOOT.SYS after the commands for the configuration you
  1217.           selected.  Press 'Y' for this one as well.
  1218.  
  1219.           If you have been using the DOS 6 multi-configuration feature, you
  1220.           were able to press F5 or F8 when its menu appeared.  These keys
  1221.           still work with BOOT.SYS, but you have to press them before the
  1222.           first BOOT.SYS menu.
  1223.  
  1224.  
  1225.      The MS/PC-DOS 6.0 INCLUDE= Command
  1226.  
  1227.           Do not use the INCLUDE= command between the BOOT.SYS and BOOT.END
  1228.           lines.  Similar to DOS=, all INCLUDE= commands are executed
  1229.           before BOOT.SYS gets control.  If you have two or more INCLUDE=
  1230.           commands referring to the same configuration block, all but the
  1231.           first are ignored.  Unfortunately, BOOT.SYS cannot even detect
  1232.           that situation.
  1233.  
  1234.           However, BOOT.SYS gives you an even more powerful mechanism to
  1235.           share commands among several configurations, as follows:
  1236.  
  1237.  
  1238.     BOOT.SYS                       -  24  -                   Version 2.00
  1239.  
  1240.  
  1241.  
  1242.               DEVICE=d:\path\BOOT.SYS
  1243.               DEVICE=c:\dos\HIMEM.SYS
  1244.               DEVICE=BOOT.TOP Just a test
  1245.  
  1246.               DEVICE=BOOT.1 Don't load EMM386
  1247.  
  1248.               DEVICE=BOOT.2 Load EMM386, use EMS
  1249.                  DEVICE=BOOT.SET EMM386=Y
  1250.                  DEVICE=BOOT.SET EMMPARM=RAM
  1251.  
  1252.               DEVICE=BOOT.3 Load EMM386, no EMS
  1253.                  DEVICE=BOOT.SET EMM386=Y
  1254.                  DEVICE=BOOT.SET EMMPARM=NOEMS
  1255.               DEVICE=BOOT.0   {this starts a common section}
  1256.               DEVICE=BOOT.IF %EMM386%==Y
  1257.                  DEVICE=c:\dos\EMM386.EXE x=D000-D1FF %EMMPARM%
  1258.                  DEVICE=BOOT.SET EMMPARM=
  1259.               DEVICE=BOOT.ENDIF
  1260.  
  1261.               DEVICE=BOOT.END
  1262.  
  1263.          The command loading HIMEM.SYS on the second line, and the
  1264.          conditional (IF...ENDIF) block near the end are shared among all
  1265.          configurations.
  1266.  
  1267.          Whenever you need to share commands among several configurations,
  1268.          this is an indication that nested menus might be more
  1269.          appropriate:
  1270.  
  1271.               DEVICE=d:\path\BOOT.SYS
  1272.               DEVICE=c:\dos\HIMEM.SYS
  1273.               DEVICE=BOOT.TOP Load EMM386?
  1274.  
  1275.               DEVICE=BOOT.1 &No
  1276.  
  1277.               DEVICE=BOOT.2 &Yes
  1278.                  DEVICE=BOOT.A
  1279.                  DEVICE=BOOT.TOP Use EMS memory?
  1280.  
  1281.                  DEVICE=BOOT.1 Yes, use &EMS
  1282.                     DEVICE=BOOT.SET EMMPARM=RAM
  1283.  
  1284.                  DEVICE=BOOT.2 &No
  1285.                     DEVICE=BOOT.SET EMMPARM=NOEMS
  1286.                  DEVICE=BOOT.Z
  1287.  
  1288.                  DEVICE=c:\dos\EMM386.EXE x=D000-D1FF %EMMPARM%
  1289.                  DEVICE=BOOT.SET EMMPARM=
  1290.  
  1291.               DEVICE=BOOT.END
  1292.  
  1293.  
  1294.      BOOT.SYS                       -  25  -                   Version 2.00
  1295.  
  1296.  
  1297.  
  1298.           Here, no conditional block is required, because the EMM386.EXE
  1299.           line is part of what's executed when you select item #2 on the
  1300.           main menu.
  1301.  
  1302.           See Common Sections on page 48 for a complete list of where you
  1303.           can place commands that should be shared among several
  1304.           configurations.
  1305.  
  1306.  
  1307.      Running MemMaker, Optimize, Maximize, etc.
  1308.  
  1309.           Every 386 memory manager comes with its own optimize program that
  1310.           claims to set up your system in the most efficient way.
  1311.           Unfortunately, none of these programs is smart enough to
  1312.           correctly handle a CONFIG.SYS file with BOOT.SYS installed.
  1313.  
  1314.           If you need to run one of these programs, you must manually
  1315.           extract the configuration that you wish to optimize, run the
  1316.           program, and then manually reinsert the optimized configuration
  1317.           into the BOOT.SYS multi-configuration framework.
  1318.  
  1319.  
  1320.      DR DOS
  1321.  
  1322.           BOOT.SYS includes complete support for DR DOS, and it behaves
  1323.           under DR DOS just as it does under MS/PC-DOS 6.0, with two
  1324.           exceptions.
  1325.  
  1326.           First, DR DOS does not translate the CONFIG.SYS file to upper
  1327.           case before invoking BOOT.SYS.  Therefore, you can use mixed-case
  1328.           text and create mixed-case values for environment variables
  1329.           without using the /Uc or /Uct command-line parameters (see page
  1330.           29).
  1331.  
  1332.           If you are sharing a CONFIG.SYS file between MS/PC-DOS and DR DOS
  1333.           you can use the /Uc or /Uct parameters even with DR DOS and
  1334.           BOOT.SYS will filter out the c and t characters.
  1335.  
  1336.           Second, unlike MS/PC-DOS, DR DOS sets a low limit on the size of
  1337.           the CONFIG.SYS file (8K bytes in DR DOS 6.0).  If you exceed the
  1338.           limit, it simply ignores the extra bytes and lines.  If BOOT.SYS
  1339.           warns you that your CONFIG.SYS file may be too long, try trimming
  1340.           it down until you find a size that your version of DR DOS will
  1341.           accept and process correctly.
  1342.  
  1343.           DR DOS does not recognize the DOS= command.  To help you to share
  1344.           CONFIG.SYS files between MS/PC-DOS and DR DOS, BOOT.SYS
  1345.           automatically removes all DOS= commands between the BOOT.SYS and
  1346.           BOOT.END lines as well as the one right after BOOT.END.
  1347.  
  1348.  
  1349.     BOOT.SYS                       -  26  -                   Version 2.00
  1350.  
  1351.  
  1352.  
  1353.  
  1354.                               BOOT.SYS Commands
  1355.  
  1356.  
  1357.  
  1358.  
  1359.     BOOT.SYS
  1360.  
  1361.               DEVICE=d:\path\BOOT.SYS [params]
  1362.  
  1363.          This command marks the beginning of the section of your
  1364.          CONFIG.SYS file that you want BOOT.SYS to control.  The section
  1365.          must be terminated with the command
  1366.  
  1367.               DEVICE=BOOT.END
  1368.  
  1369.          Everything before the BOOT.SYS line or after the BOOT.END line
  1370.          will be handled normally by DOS and apply to all of your
  1371.          configurations.  All of your menus and other BOOT.SYS commands
  1372.          must be included between these two lines.
  1373.  
  1374.          You may use this command only once in your CONFIG.SYS file.  The
  1375.          drive letter and path are required unless BOOT.SYS is in the root
  1376.          directory of your boot drive.
  1377.  
  1378.          If you are using MS/PC-DOS 5.0 or later, see page 22 for details
  1379.          about how to use the DOS= command with BOOT.SYS.
  1380.  
  1381.  
  1382.     BOOT.SYS Parameters
  1383.  
  1384.          The DEVICE=d:\path\BOOT.SYS command may be followed by one or
  1385.          more parameters.  Each parameter must begin with either a slash
  1386.          [/], as shown, or with a hyphen [-].  BOOT.SYS evaluates the
  1387.          parameters from left to right.  If two parameters contradict each
  1388.          other, BOOT.SYS will ignore the first one and use the second one.
  1389.  
  1390.          The parameters on the DEVICE=d:\path\BOOT.SYS command line set
  1391.          defaults for the entire BOOT.SYS session.  You may also use these
  1392.          parameters to set values for any specific menu by including them
  1393.          on the DEVICE=BOOT.A to DEVICE=BOOT.Y line (see page 35).
  1394.  
  1395.        /BW
  1396.  
  1397.          Sets BOOT.SYS to use screen colors suitable for a black and white
  1398.          or LCD display attached to a color video adapter (CGA, EGA, VGA,
  1399.          etc.).  Do not use this parameter if you have a monochrome video
  1400.          adapter and display;  use /MONO instead.
  1401.  
  1402.  
  1403.      BOOT.SYS                       -  27  -                   Version 2.00
  1404.  
  1405.  
  1406.  
  1407.         /Dc or /Dnn
  1408.  
  1409.           Sets the default menu item.  BOOT.SYS will display the menu with
  1410.           the selection bar on the default item.  If a time-out (see /T
  1411.           below) is specified and no key is pressed before the end of the
  1412.           time-out period, BOOT.SYS will act as if the default item had
  1413.           been selected.  If the /D parameter is not specified, BOOT.SYS
  1414.           will place the selection bar on the first displayed menu item and
  1415.           select that item at the end of the time-out period.
  1416.  
  1417.           The c in the first form of this parameter is a quick key
  1418.           character or an item number.  It will select the same menu item
  1419.           as pressing that key when the menu is displayed.
  1420.  
  1421.           If c is a single digit which is not defined as a quick key,
  1422.           BOOT.SYS uses item number c as displayed on the screen.  /D3
  1423.           selects the third item, /D0 the tenth, /D! the eleventh, etc.
  1424.           (see page 12).
  1425.  
  1426.           If c is neither a quick key nor a valid item number, /Dc (and /Tn
  1427.           if specified) is ignored and the selection bar is placed on the
  1428.           first menu item.
  1429.  
  1430.           With the second form of this parameter (nn with two digits;  for
  1431.           example, /D05 or /D12), BOOT.SYS will count all menu items,
  1432.           including BOOT.? items that are not displayed (see page 35), to
  1433.           find the default item for the menu.
  1434.  
  1435.           If nn is a BOOT.? line that is not displayed, BOOT.SYS will
  1436.           ignore the /D and /T parameters.
  1437.  
  1438.         /MN
  1439.  
  1440.           Suppresses the display of item numbers in menus.  This parameter
  1441.           also disables the use of digit keys in menus, forcing the use of
  1442.           quick keys or the selection bar.
  1443.  
  1444.           /MN is a toggle.  If you have multiple menus and you specify it
  1445.           on the BOOT.SYS line, it turns off item numbers for all menus,
  1446.           but you can turn them back on for a specific menu by including it
  1447.           on that menu's BOOT.c (BOOT.A, BOOT.B, etc.) line.
  1448.  
  1449.         /MONO
  1450.  
  1451.           Instructs BOOT.SYS to use screen attributes suitable for
  1452.           monochrome adapters and displays.  Do not use this parameter if
  1453.           you have a monochrome or LCD monitor attached to a color video
  1454.           adapter;  use /BW instead.
  1455.  
  1456.  
  1457.     BOOT.SYS                       -  28  -                   Version 2.00
  1458.  
  1459.  
  1460.  
  1461.        /N+  or /N-
  1462.  
  1463.          Turns the NumLock key on (/N+) or off (/N-).  This parameter
  1464.          simplifies using the numeric keypad to make menu choices or to
  1465.          move the selection bar.
  1466.  
  1467.        /Tn or /T
  1468.  
  1469.          Sets the time-out value in seconds.  If the user does not press
  1470.          any key within n seconds, BOOT.SYS continues execution with the
  1471.          default menu item, which is set with the /Dc or /Dnn parameter
  1472.          (if a default is not specified, BOOT.SYS selects the first item
  1473.          displayed in the menu).  Pressing any key within the specified
  1474.          time disables the time-out.  BOOT.SYS reacts to the key as
  1475.          expected, so the user can move the cursor or make selections
  1476.          before the time-out period ends just as if no time-out had been
  1477.          specified.
  1478.  
  1479.          A parameter of /T0 is valid.  It tells BOOT.SYS to check if there
  1480.          is a keystroke waiting in the keyboard type ahead buffer.  If so,
  1481.          that key is used to disable the time-out and possibly make a menu
  1482.          selection.  If no key is waiting in the type ahead buffer,
  1483.          BOOT.SYS continues with the default selection immediately.  Most
  1484.          BIOS's accept key presses right after the initial beep during
  1485.          boot up.
  1486.  
  1487.          To disable the time-out, especially if you are using /T0, you can
  1488.            *  turn CapsLock on before BOOT.SYS starts,
  1489.            *  press any key that doesn't select a menu item (for example,
  1490.               the space bar or CursorDown key) before BOOT.SYS starts, or
  1491.            *  hold down a Shift, Ctrl, or Alt key while BOOT.SYS starts.
  1492.  
  1493.          If there is a frame around the menu (this is the default),
  1494.          BOOT.SYS displays the number of seconds remaining in the time-out
  1495.          period in the lower right corner of the frame.
  1496.  
  1497.          If BOOT.SYS finds a BOOT.NXT file (see page 64), the /Tn and /D
  1498.          parameters are ignored and there is no time-out.  Unless you turn
  1499.          on CapsLock before BOOT.SYS starts, or hold down a Shift, Ctrl,
  1500.          or Alt key while BOOT.SYS starts, there will be no way to
  1501.          interact with BOOT.SYS at all when it is processing a BOOT.NXT
  1502.          file.
  1503.  
  1504.          There is no time-out if the parameter /T is used without a
  1505.          numeric value or if the /Tn parameter is omitted.  The /T
  1506.          parameter is most often used to disable the time-out for a
  1507.          particular menu when a general time-out has been set on the
  1508.          BOOT.SYS command line.
  1509.  
  1510.  
  1511.      BOOT.SYS                       -  29  -                   Version 2.00
  1512.  
  1513.  
  1514.  
  1515.         /Uc
  1516.  
  1517.           Sets the character c as the shift character.  If this parameter
  1518.           is used, all alphabetic characters preceded by the specified
  1519.           shift character will be displayed in upper case in
  1520.           DEVICE=BOOT.TOP and DEVICE=BOOT.n lines.  All other alphabetic
  1521.           characters will be displayed in lower case.
  1522.  
  1523.           There is no default value for the shift character.  /U^ and /U~,
  1524.           which set the shift character to a caret [^] or a tilde [~], are
  1525.           good choices.  To display the shift character itself, write it
  1526.           twice (for example, [^^] or [~~]).
  1527.  
  1528.           This parameter is necessary because MS-DOS and PC-DOS convert
  1529.           everything in the CONFIG.SYS file to upper case before invoking
  1530.           BOOT.SYS.  Users of DR DOS do not need to use this parameter
  1531.           because case is preserved in their CONFIG.SYS files.  But they
  1532.           may include it if they use the same configuration files for both
  1533.           MS/PC-DOS and DR DOS;  BOOT.SYS will remove the shift characters
  1534.           before displaying text regardless of DOS version.
  1535.  
  1536.         /Uct
  1537.  
  1538.           Sets both a shift character c and a toggle character t.  If this
  1539.           parameter is used, each display line in a DEVICE=BOOT.TOP or
  1540.           DEVICE=BOOT.n command begins in lower case.  All alphabetic
  1541.           characters between a pair of toggle characters, as well as those
  1542.           between the toggle character and the end of the line, will be
  1543.           displayed in upper case.  Any alphabetic character following the
  1544.           shift character will have its case changed.  The toggle character
  1545.           is analogous to the CapsLock key and the shift character is
  1546.           analogous to the shift key on the keyboard.
  1547.  
  1548.           For example, /U^| sets the caret [^] as the shift character and
  1549.           the vertical bar [|] as the toggle character.  After this
  1550.           parameter is used, the line
  1551.  
  1552.                one |two| ^three |fo^ur
  1553.  
  1554.           will be displayed as
  1555.  
  1556.                one TWO Three FOuR
  1557.  
  1558.           To display either the shift character or the toggle character in
  1559.           a line, write it twice.
  1560.  
  1561.           This parameter is necessary because MS-DOS and PC-DOS convert
  1562.           everything in the CONFIG.SYS file to upper case before invoking
  1563.           BOOT.SYS.  Users of DR DOS do not need to use this parameter
  1564.           because case is preserved in their CONFIG.SYS files.  But they
  1565.           may include it if they use the same configuration files for both
  1566.  
  1567.  
  1568.     BOOT.SYS                       -  30  -                   Version 2.00
  1569.  
  1570.  
  1571.          MS/PC-DOS and DR DOS;  BOOT.SYS will remove the shift and toggle
  1572.          characters before displaying text regardless of DOS version.
  1573.  
  1574.        /U
  1575.  
  1576.          Forces BOOT.SYS to display all alphabetic characters in upper
  1577.          case.  Under MS-DOS and PC-DOS, which translate the entire
  1578.          CONFIG.SYS file to upper case, this parameter tells BOOT.SYS that
  1579.          there is no shift or toggle character and that everything should
  1580.          be left unchanged.  Under DR DOS, which does not translate
  1581.          CONFIG.SYS to upper case, this parameter tells BOOT.SYS to
  1582.          perform the translation to upper case.
  1583.  
  1584.  
  1585.     BOOT.SYS Advanced Parameters
  1586.  
  1587.          The following parameters are not needed for basic operation of
  1588.          BOOT.SYS.  However, they are useful if you want complete control
  1589.          over menu screens and other advanced BOOT.SYS features.  We
  1590.          suggest that you learn to use the other features of BOOT.SYS
  1591.          before you experiment with these.
  1592.  
  1593.        /H
  1594.  
  1595.          Forces BOOT.SYS to hide any menus for which a selection is made
  1596.          before the menu is displayed.  A prior selection can be made by
  1597.          typing ahead of BOOT.SYS or by using the /T0 time-out parameter.
  1598.          The /H parameter is ignored if BOOT.SYS finds a BOOT.NXT file
  1599.          (see page 64).
  1600.  
  1601.          If you use this parameter and /T0, you can set up BOOT.SYS so
  1602.          that it doesn't display anything at all unless the time-out is
  1603.          disabled (see page 28).
  1604.  
  1605.          The shareware version of BOOT.SYS, however, will always display a
  1606.          copyright message.
  1607.  
  1608.        /La[,b[,c[,d]]]
  1609.  
  1610.          Specifies the upper left corners of one or both of the two boxes
  1611.          that BOOT.SYS displays on the screen.  The upper box contains the
  1612.          BOOT.TOP text;  the lower box contains the menu items.  The
  1613.          parameters a, b, c, and d are one- or two-digit integers
  1614.          separated by commas.  The top left corner of the screen is row 1,
  1615.          column 1.
  1616.  
  1617.                    a = row of text box
  1618.                    b = column of text box
  1619.                    c = row of menu items box
  1620.                    d = column of menu items box
  1621.  
  1622.          The default value for all parameters is 0, which means that the
  1623.          boxes are centered automatically by BOOT.SYS.  You can use a
  1624.  
  1625.  
  1626.      BOOT.SYS                       -  31  -                   Version 2.00
  1627.  
  1628.  
  1629.           value of 0 for any parameter that you wish to leave unspecified.
  1630.           Omitted parameters at the end of the list are automatically given
  1631.           a value of 0.
  1632.  
  1633.         /Mibf
  1634.  
  1635.           Sets the colors and screen attributes for BOOT.SYS.  /M is
  1636.           followed by 3 characters, without any spaces or punctuation, for
  1637.           each item that you wish to specify.  If you wish to set multiple
  1638.           items, concatenate the appropriate three-character strings
  1639.           without any spaces.
  1640.  
  1641.           The first character i in each three-character set selects a
  1642.           screen item:
  1643.  
  1644.                  Character  Screen Item
  1645.  
  1646.                      B      background color
  1647.                      S      shadow color
  1648.                      T      text color for top box
  1649.                      U      frame color for top box
  1650.                      O      text color for menu items (menu options) box
  1651.                      P      frame color for menu items (menu options) box
  1652.                      Q      color for quick key in menu items
  1653.                      H      color for highlighted text (selected menu item)
  1654.                      I      color for quick key in highlighted
  1655.                             text (selected menu item)
  1656.  
  1657.  
  1658.           The second and third characters select the background and
  1659.           foreground colors for the selected item.  On a color system, use
  1660.           these values for the background b and foreground f:
  1661.  
  1662.  
  1663.                  Color         Background          Foreground
  1664.                             Normal   Blinking   Normal    Bright
  1665.  
  1666.                  black        0         8         0         8
  1667.                  blue         1         9         1         9
  1668.                  green        2         A         2         A
  1669.                  cyan         3         B         3         B
  1670.                  red          4         C         4         C
  1671.                  magenta      5         D         5         D
  1672.                  brown        6         E         6         E
  1673.                  white        7         F         7         F
  1674.  
  1675.  
  1676.     BOOT.SYS                       -  32  -                   Version 2.00
  1677.  
  1678.  
  1679.  
  1680.          If you have a monochrome system, use the following values for b
  1681.          and f:
  1682.  
  1683.  
  1684.                 Monochrome Attribute     Background & Foreground
  1685.  
  1686.                 normal                             07
  1687.                 high intensity                     0F
  1688.                 underlined                         02
  1689.                 high intensity                     09
  1690.                 underlined
  1691.                 reverse video                      70
  1692.  
  1693.  
  1694.          We recommend that you avoid using an invisible background such as
  1695.          black on black (/MB00) or blue on blue (/MB11).  These colors may
  1696.          prevent BOOT.SYS from displaying important error messages.
  1697.          Instead, use the /MK parameter, below, to set the background
  1698.          character to a space.
  1699.  
  1700.          Some values have special meanings:
  1701.  
  1702.                 /MSbf             (bf same as /MBbf)  No Shadow
  1703.                 /MT00             No TOP box even if BOOT.TOP present
  1704.                 /MU00, /MP00      No border for top and options box
  1705.                 /MUbb, /MPbb      (f same as b)  No frame around the boxes
  1706.  
  1707.  
  1708.  
  1709.        /MKhh or /MCc
  1710.  
  1711.          Selects the character that BOOT.SYS will use to fill the
  1712.          background areas of the screen.  /MK must be followed by the two-
  1713.          digit hexadecimal ASCII code of the desired character.  /MK20,
  1714.          for example, sets the background character to a space (ASCII 20
  1715.          hex), effectively making it invisible: only the background color
  1716.          will appear on the screen.  Alternatively, you can use /MC,
  1717.          followed by the desired character.
  1718.  
  1719.        /ML
  1720.  
  1721.          Changes blinking attributes to high intensity background colors.
  1722.          This command is only effective with a VGA-compatible video
  1723.          adapter.  If you use /ML, the second (background) character of
  1724.          the /Mibf command can select among 16 colors.
  1725.  
  1726.        /M&c
  1727.  
  1728.          In menu definitions, the quick key for each item is marked with a
  1729.          preceding ampersand [&].  If you want to use the ampersand itself
  1730.          as a quick key, you must define a new marking character with the
  1731.          /M&c command.  To do so, replace the c with the desired
  1732.  
  1733.  
  1734.      BOOT.SYS                       -  33  -                   Version 2.00
  1735.  
  1736.  
  1737.           character.  For example, to set the exclamation point [!] as the
  1738.           quick key marker, you would use /M&!.
  1739.  
  1740.         /P
  1741.  
  1742.           Causes BOOT.SYS to display a menu identifier in the lower right
  1743.           corner of the screen.  This command is useful for setting up and
  1744.           debugging a complex menu system.
  1745.  
  1746.         /Xd:\path\filename.ext
  1747.  
  1748.           Specifies the directory and file name that BOOT.SYS should use to
  1749.           look for the BOOT.NXT file.  If this file is found, it defines
  1750.           menu choices that will be made automatically by BOOT.SYS.  See
  1751.           page 64 for more information about this file.
  1752.  
  1753.           This parameter may only be used on the DEVICE=d:\path\BOOT.SYS
  1754.           command line;  unlike the other parameters, it cannot be set or
  1755.           reset for an individual menu.
  1756.  
  1757.  
  1758.      BOOT.1 to BOOT.20
  1759.  
  1760.                DEVICE=BOOT.n text
  1761.  
  1762.           The DEVICE=BOOT.n command marks the beginning of a menu item.
  1763.           The n can be any number from 1 to 20, but menu items must be
  1764.           numbered consecutively.  To avoid renumbering, use the
  1765.           DEVICE=BOOT.# command in place of this command (see below).
  1766.  
  1767.           Everything that follows n is the text that will appear in the
  1768.           menu.  If you precede a character with an ampersand [&] , that
  1769.           character will be used as a quick choice key for the menu item.
  1770.           If you want an ampersand in the menu, include two together in the
  1771.           text: [&&].  To use the ampersand as a quick key, you can choose
  1772.           a different quick key indicator with the /M&c command line
  1773.           parameter (see page 32).
  1774.  
  1775.           If you assign digits as quick keys, they will override the item
  1776.           numbers and may confuse the user.  For example, if your fourth
  1777.           item is "&386MAX," pressing either '3' or '4' selects that item.
  1778.           To avoid this confusion, you can suppress the item numbers with
  1779.           the /MN parameter (see page 27).
  1780.  
  1781.           If you have the same quick key for more than one menu item,
  1782.           pressing that key cycles through the matching items, and you have
  1783.           to press the Enter key to select the one you want.
  1784.  
  1785.  
  1786.     BOOT.SYS                       -  34  -                   Version 2.00
  1787.  
  1788.  
  1789.  
  1790.  
  1791.     BOOT.0
  1792.  
  1793.               DEVICE=BOOT.0
  1794.  
  1795.          In each menu, the last item may be followed by DEVICE=BOOT.0 and
  1796.          a list of CONFIG.SYS commands.  If the menu is executed, all the
  1797.          commands that follow DEVICE=BOOT.0 will also be executed.
  1798.  
  1799.          This command is used to avoid repetitious CONFIG.SYS commands
  1800.          that you want to attach to every choice in a menu.  If you use
  1801.          BOOT.0 in a submenu, however, remember that the commands will
  1802.          only be executed if the menu is run.  If the menu is a submenu to
  1803.          an item that the user does not select, if it is inside a BOOT.IF
  1804.          block with a false conditional expression, or if the user takes a
  1805.          different path through your menu structure and avoids the menu,
  1806.          the commands will not be executed.
  1807.  
  1808.          See Common Sections on page 48 and the discussion of the MS/PC-
  1809.          DOS 6.0 INCLUDE= Command on page 23 for related information.
  1810.  
  1811.  
  1812.     BOOT.END
  1813.  
  1814.               DEVICE=BOOT.END
  1815.  
  1816.          This command is required to mark the end of the section of your
  1817.          CONFIG.SYS file that BOOT.SYS controls.  All BOOT.SYS commands
  1818.          must be placed between the opening DEVICE=d:\path\BOOT.SYS
  1819.          command and the closing DEVICE=BOOT.END command.  All CONFIG.SYS
  1820.          lines outside the BOOT.SYS block will be passed to DOS for normal
  1821.          processing.  (See page 22 for a discussion of the special
  1822.          processing needed for the DOS= command.)
  1823.  
  1824.  
  1825.     BOOT.#
  1826.  
  1827.               DEVICE=BOOT.# text
  1828.  
  1829.          This is the same as the DEVICE=BOOT.n command (above) except that
  1830.          the numbering is managed by BOOT.SYS.  If you edit menus
  1831.          frequently, this feature will save you from renumbering them.
  1832.          Even if you use this command, you are still limited to 20 choices
  1833.          per menu.  If you try to use more, BOOT.SYS displays an error
  1834.          message and performs an "emergency recovery" (see page 74).
  1835.  
  1836.  
  1837.      BOOT.SYS                       -  35  -                   Version 2.00
  1838.  
  1839.  
  1840.  
  1841.  
  1842.      BOOT.?
  1843.  
  1844.                DEVICE=BOOT.? conditional_expression # text
  1845.  
  1846.           BOOT.? can hide or display a single menu item based on a
  1847.           conditional expression.  The text of the menu item must be
  1848.           separated from the conditional expression by a number sign [#].
  1849.  
  1850.           Like BOOT.#, above, a BOOT.? menu item automatically takes the
  1851.           next higher menu number if it is displayed.  Because the numbers
  1852.           of the subsequent menu items must change depending on whether
  1853.           this item is displayed, you must use BOOT.# (or BOOT.?) for all
  1854.           items following BOOT.? in a menu.
  1855.  
  1856.           If you want to use the /D parameter to specify a default item in
  1857.           a menu that uses BOOT.?, either use the quick key to identify the
  1858.           default or use a two-digit number (with a leading zero [0] if
  1859.           necessary) to indicate the default menu item. To determine the
  1860.           correct number, count all menu items including all BOOT.? lines.
  1861.  
  1862.           BOOT.? is useful if you have more than one menu and you wish to
  1863.           include some items depending on the selections the user has made
  1864.           earlier.  It can also be used to suppress certain items based on
  1865.           the current hardware or software configuration.  Examples:
  1866.  
  1867.                DEVICE=BOOT.? %MEMMAN% == QEMM # ...
  1868.  
  1869.                DEVICE=BOOT.? %USER% == JOE # ...
  1870.  
  1871.                DEVICE=BOOT.? 386 # ...
  1872.  
  1873.                DEVICE=BOOT.? EXIST d:\windows\win.com
  1874.  
  1875.           You may have a total of 99 items per menu, but no more than 20
  1876.           may be active or displayed at any one time.  Otherwise, BOOT.SYS
  1877.           displays an error message and performs an "emergency recovery"
  1878.           (see page 74).
  1879.  
  1880.           The conditional_expression follows the same format and allows the
  1881.           same tests as that used in the BOOT.IF command (see page 38).
  1882.  
  1883.  
  1884.      BOOT.A to BOOT.Y
  1885.  
  1886.                DEVICE=BOOT.c [parameters]
  1887.  
  1888.           The character c can be any letter between A and Y (but not Z).
  1889.           This command introduces a menu or submenu.  The first menu at any
  1890.           menu level is introduced by BOOT.A, the next by BOOT.B, etc.  The
  1891.           group of menus must be terminated by the command DEVICE=BOOT.Z.
  1892.  
  1893.  
  1894.     BOOT.SYS                       -  36  -                   Version 2.00
  1895.  
  1896.  
  1897.          That is, for every DEVICE=BOOT.A you have in your CONFIG.SYS
  1898.          file, there must be a corresponding DEVICE=BOOT.Z.
  1899.  
  1900.          You may have a maximum of 25 menus (A through Y) at any menu
  1901.          level.  Also, BOOT.SYS can display a total of 25 menus during
  1902.          boot-up.  If you try to create more than 25 menus on a single
  1903.          menu level, or if the user's path through your menu structure
  1904.          displays more than 25 menus all together, BOOT.SYS will display
  1905.          an error message and perform an emergency recovery (see page 74).
  1906.  
  1907.          The following menu sequences are equivalent:
  1908.  
  1909.               DEVICE=BOOT.A              DEVICE=BOOT.A
  1910.                  {menu A}                   {menu A}
  1911.               DEVICE=BOOT.B              DEVICE=BOOT.Z
  1912.                  {menu B}                DEVICE=BOOT.A
  1913.               DEVICE=BOOT.Z                 {menu B}
  1914.                                          DEVICE=BOOT.Z
  1915.  
  1916.          The BOOT.c lines serve only to separate menus.  The advantage of
  1917.          using consecutive letters on the left is that it's easier to keep
  1918.          track of which menu is which.  If you use BOOT.B etc., BOOT.SYS
  1919.          will verify that the letters are in sequence.  The advantages of
  1920.          the syntax on the right are that you can add or remove menus
  1921.          without having to reassign the letters, and you can put one of
  1922.          the menus in a sequence inside an IF/ELSE/ENDIF construct (see
  1923.          page 38).
  1924.  
  1925.          You can set a time-out, default value, and screen color for a
  1926.          specific menu by using the parameters described under
  1927.          DEVICE=d:\path\BOOT.SYS on page 26 on the BOOT.c line.  You may
  1928.          use any of the parameters for a menu except /X.
  1929.  
  1930.  
  1931.     BOOT.Z
  1932.  
  1933.               DEVICE=BOOT.Z
  1934.  
  1935.          This command terminates a section of menus that begins with the
  1936.          DEVICE=BOOT.A command.  It is a required signal to BOOT.SYS that
  1937.          a particular menu level is finished and that processing can
  1938.          return to the next higher menu level, if there is one.  You must
  1939.          have a DEVICE=BOOT.Z command for every DEVICE=BOOT.A in your
  1940.          CONFIG.SYS file.
  1941.  
  1942.          DEVICE=BOOT.A can be preceded, and DEVICE=BOOT.Z can be followed,
  1943.          by both CONFIG.SYS commands and BOOT.SYS commands (like BOOT.SET)
  1944.          which will be executed in sequence.  See Common Sections on page
  1945.          48 for details.
  1946.  
  1947.  
  1948.      BOOT.SYS                       -  37  -                   Version 2.00
  1949.  
  1950.  
  1951.  
  1952.  
  1953.      BOOT.EDIT
  1954.  
  1955.                DEVICE=BOOT.EDIT [/Tn] [text]
  1956.                any executable CONFIG.SYS command
  1957.  
  1958.           This command lets you edit any executable CONFIG.SYS line during
  1959.           the boot up process.  The line can contain a single enhanced
  1960.           CONFIG.SYS command (see page 47).
  1961.  
  1962.           When BOOT.SYS executes a DEVICE=BOOT.EDIT command, the command
  1963.           following the BOOT.EDIT line appears in a box on the screen.  The
  1964.           user can edit everything to the right of the equal sign.  The
  1965.           keyword and equal sign are required but cannot be changed by the
  1966.           user .
  1967.  
  1968.           For example, if a menu item included the following two lines:
  1969.  
  1970.                DEVICE=BOOT.EDIT
  1971.                FILES=20
  1972.  
  1973.           the user could edit the "20" but not the "FILES=" portion of the
  1974.           line.
  1975.  
  1976.           Under DR DOS, the user can edit the entire line.
  1977.  
  1978.           The maximum length of the edited line is 250 characters.
  1979.           However, if BOOT.SYS runs out of internal work space, it may
  1980.           restrict the line length.  If that happens, you can use the
  1981.           DEVICE=BOOT.REM command (see page 44) to increase the amount of
  1982.           internal space that BOOT.SYS has available.
  1983.  
  1984.           A summary of the active editing keys appears on the screen while
  1985.           the user is editing the line.  If you would rather display your
  1986.           own text, you can place it on the BOOT.EDIT line.  You can
  1987.           include multiple lines of text like this:
  1988.  
  1989.                DEVICE=BOOT.EDIT You may experiment with different
  1990.                DEVICE=BOOT.EDIT FILES= values (<Esc> to ignore):
  1991.                FILES=20
  1992.  
  1993.           You can include a time-out for BOOT.EDIT by using the /Tn
  1994.           parameter before any explanatory text.  If the user does not
  1995.           begin to edit the line during the time-out period, BOOT.SYS will
  1996.           leave the current line unchanged and continue execution just as
  1997.           if the user had pressed the Enter key.
  1998.  
  1999.  
  2000.     BOOT.SYS                       -  38  -                   Version 2.00
  2001.  
  2002.  
  2003.  
  2004.  
  2005.     BOOT.IF
  2006.  
  2007.               DEVICE=BOOT.IF conditional_expression
  2008.               ...
  2009.               DEVICE=BOOT.ENDIF
  2010.  
  2011.          This command allows conditional execution of enhanced CONFIG.SYS
  2012.          commands (see page 47) and menus.
  2013.  
  2014.          The full format of a BOOT.IF block is
  2015.  
  2016.               DEVICE=BOOT.IF conditional_expression
  2017.                  ...
  2018.               DEVICE=BOOT.ELSEIF conditional_expression
  2019.                  ...
  2020.               DEVICE=BOOT.ELSE
  2021.                  ...
  2022.               DEVICE=BOOT.ENDIF
  2023.  
  2024.          The closing BOOT.ENDIF line is required.  The BOOT.ELSEIF (which
  2025.          may be repeated) and BOOT.ELSE parts are optional.
  2026.  
  2027.          The conditional expression may contain more than one condition.
  2028.          Conditions can be combined with .AND. and .OR. and individual
  2029.          conditions can be negated with .NOT..  In addition, to maintain
  2030.          an analogy with the DOS batch language, the word NOT can be used
  2031.          without enclosing periods immediately after BOOT.IF or
  2032.          BOOT.ELSEIF, like this:
  2033.  
  2034.               DEVICE=BOOT.IF NOT %MEMMAN% == EMM386
  2035.  
  2036.          The line is evaluated from left to right with no order of
  2037.          precedence.  A .NOT. applies only to the condition that
  2038.          immediately follows.
  2039.  
  2040.          In a BOOT.IF ... BOOT.ENDIF block, you may place any number of
  2041.          enhanced CONFIG.SYS commands (see page 47).  You may also include
  2042.          a single menu or a menu sequence.  However, the menu or menu
  2043.          sequence must be contained entirely within the
  2044.          BOOT.IF ... BOOT.ENDIF block.  Do not try to dynamically include
  2045.          or exclude menu items with BOOT.IF;  use BOOT.? for that purpose.
  2046.  
  2047.          BOOT.IF blocks can be nested.
  2048.  
  2049.          The allowable conditions are
  2050.  
  2051.        string==string
  2052.  
  2053.          The strings can be any combination of constants and variables
  2054.          (created with BOOT.SET).  Leading and trailing spaces are
  2055.          ignored.  If you wish to check for leading or trailing spaces,
  2056.  
  2057.  
  2058.      BOOT.SYS                       -  39  -                   Version 2.00
  2059.  
  2060.  
  2061.           put the strings inside quotation marks.  The comparison is case-
  2062.           insensitive.
  2063.  
  2064.           Note: This is different than the string comparison in the DOS
  2065.           BATch language, which is case-dependent.
  2066.  
  2067.         EXIST filename
  2068.  
  2069.           This condition is true if the specified filename exists.  The
  2070.           filename may include the standard DOS wildcards [*] and [?].
  2071.           BOOT.SYS will handle empty diskette drives properly, returning a
  2072.           false condition for any file on the drive.  If you want to test
  2073.           for the presence of a subdirectory or a disk even if it has no
  2074.           files, you can use commands like
  2075.  
  2076.                DEVICE=BOOT.IF EXIST d:\dirname\NUL
  2077.           or
  2078.  
  2079.                DEVICE=BOOT.IF EXIST a:\NUL
  2080.  
  2081.           However, under DR DOS this test will always produce a true
  2082.           result, regardless of whether the directory exists.  (The same is
  2083.           true for similar tests in the DR DOS BATch file language.)
  2084.  
  2085.         VGA
  2086.  
  2087.           This condition is true if a VGA-compatible video adapter is
  2088.           installed.
  2089.  
  2090.         EGA
  2091.  
  2092.           This condition is true if an EGA-compatible video adapter is
  2093.           installed.  VGA adapters are accepted as EGA-compatible by this
  2094.           test.
  2095.  
  2096.         CGA
  2097.  
  2098.           This condition is true if a CGA-compatible video adapter is
  2099.           installed.  VGA and EGA adapters are accepted as CGA-compatible
  2100.           by this test.
  2101.  
  2102.         EGA_ACTIVE
  2103.  
  2104.           This condition is true if an EGA-compatible video adapter is
  2105.           installed and active.  This test is useful in a dual-display
  2106.           computer system.
  2107.  
  2108.         MONO
  2109.  
  2110.           This condition is true if an MDA-compatible display card is
  2111.           active.  VGA and EGA adapters in monochrome mode are accepted as
  2112.           MDA-compatible by this test, as are Hercules-compatible
  2113.           monochrome adapters.
  2114.  
  2115.  
  2116.     BOOT.SYS                       -  40  -                   Version 2.00
  2117.  
  2118.  
  2119.  
  2120.          See BOOT.OPTION EXTMON (page 43) for a way to switch between
  2121.          color and monochrome modes.
  2122.  
  2123.        86
  2124.  
  2125.          This condition is true if the computer is using at least an 8088
  2126.          or 8086 CPU.
  2127.  
  2128.        186
  2129.  
  2130.          This condition is true if the computer is using at least an 80186
  2131.          CPU.
  2132.  
  2133.        286
  2134.  
  2135.          This condition is true if the computer is using at least an 80286
  2136.          CPU.
  2137.  
  2138.        386
  2139.  
  2140.          This condition is true if the computer is using at least a 386
  2141.          CPU.
  2142.  
  2143.        486
  2144.  
  2145.          This condition is true if the computer is using at least a 486
  2146.          CPU.
  2147.  
  2148.        NEC
  2149.  
  2150.          This condition is true if the computer is using an NEC V20 or V30
  2151.          CPU.  All of the above CPU tests are false for these processors.
  2152.  
  2153.        87
  2154.  
  2155.          This condition is true if an 8087 or higher numeric processor is
  2156.          installed.
  2157.  
  2158.        287
  2159.  
  2160.          This condition is true if an 80287 or higher numeric processor is
  2161.          installed.
  2162.  
  2163.        387
  2164.  
  2165.          This condition is true if an 80387 or higher numeric processor is
  2166.          installed.  It is also true for 486DX CPUs which have a built-in
  2167.          numeric processor.
  2168.  
  2169.  
  2170.      BOOT.SYS                       -  41  -                   Version 2.00
  2171.  
  2172.  
  2173.  
  2174.         DOS  n.mm
  2175.  
  2176.           This condition is true if the computer is booting up under DOS
  2177.           version n.mm (for example, 3.31) or higher.
  2178.  
  2179.         DRDOS
  2180.  
  2181.           This condition is true if the computer is booting up under DR
  2182.           DOS.
  2183.  
  2184.         TOSHIBA_DS4
  2185.  
  2186.           This condition is only defined on Toshiba Laptops that can
  2187.           connect to a DeskStation IV;  it is true if the DeskStation IV is
  2188.           connected.
  2189.  
  2190.         TRUE or 1
  2191.  
  2192.           This condition is always true.
  2193.  
  2194.         FALSE or 0
  2195.  
  2196.           This condition is always false.
  2197.  
  2198.  
  2199.      BOOT.ELSEIF
  2200.  
  2201.                DEVICE=BOOT.ELSEIF conditional_expression
  2202.  
  2203.           The lines following this command will be executed if the
  2204.           conditional expressions of the preceding BOOT.IF and BOOT.ELSEIF
  2205.           commands are all false, and if the conditional expression in this
  2206.           command is true.  There is no limit to the number of BOOT.ELSEIF
  2207.           commands that can be used in a BOOT.IF ... BOOT.ENDIF block.
  2208.  
  2209.  
  2210.      BOOT.ELSE
  2211.  
  2212.                DEVICE=BOOT.ELSE
  2213.  
  2214.           This command begins the list of default items in a BOOT.IF block.
  2215.           The lines following BOOT.ELSE will be executed if the conditional
  2216.           expressions in the preceding BOOT.IF and BOOT.ELSEIF lines in the
  2217.           same BOOT.IF block are all false.
  2218.  
  2219.  
  2220.      BOOT.ENDIF
  2221.  
  2222.                DEVICE=BOOT.ENDIF
  2223.  
  2224.           See BOOT.IF on page 38.
  2225.  
  2226.  
  2227.     BOOT.SYS                       -  42  -                   Version 2.00
  2228.  
  2229.  
  2230.  
  2231.  
  2232.     BOOT.NAME
  2233.  
  2234.               DEVICE=BOOT.NAME name
  2235.  
  2236.          This command can only be used inside a menu item, after a
  2237.          DEVICE=BOOT.n, a DEVICE=BOOT.#, or a DEVICE=BOOT.? command.  The
  2238.          name in this command, which must be a single word, establishes a
  2239.          name for the menu item.  That name is used by BOOT.SYS to make
  2240.          automatic menu selections during a reboot to a specific
  2241.          configuration.  BOOT.SYS uses the name if it locates a BOOT.NXT
  2242.          file when it begins processing your CONFIG.SYS file.
  2243.  
  2244.          You may use more than one DEVICE=BOOT.NAME command inside a menu
  2245.          choice, which will have the effect of selecting that menu choice
  2246.          for various configuration names.  If you have more than one menu,
  2247.          you may use the same name in several menus, but only in one menu
  2248.          item for each menu.
  2249.  
  2250.          See page 64 for more information about using named configurations
  2251.          during rebooting.
  2252.  
  2253.  
  2254.     BOOT.OPTION
  2255.  
  2256.        BOOT.OPTION FREE
  2257.  
  2258.               DEVICE=BOOT.OPTION FREE
  2259.  
  2260.          If this command is part of at least one menu item you select,
  2261.          then BOOT.SYS will not remain resident as a device driver after
  2262.          it has finished processing your CONFIG.SYS file.  This command is
  2263.          useful for compatibility testing or for creating a bare-bones DOS
  2264.          configuration with as much free memory as possible.  However,
  2265.          BOOT.SYS typically uses less than 200 bytes of memory when it
  2266.          remains resident, so this command is rarely needed.
  2267.  
  2268.          Under MS/PC-DOS 6.0 and DR DOS, BOOT.SYS normally doesn't stay
  2269.          resident, so this command is not needed.
  2270.  
  2271.          Under earlier versions of DOS, if you use BOOT.OPTION FREE, the
  2272.          environment variables you have set with DEVICE=BOOT.SET will be
  2273.          discarded before DOS finishes processing your CONFIG.SYS file.
  2274.          The BOOT.EXE program, which is normally run from AUTOEXEC.BAT,
  2275.          will report that BOOT.SYS is not loaded and will return an
  2276.          ERRORLEVEL of 255.  There is no way to retrieve your CONFIG.SYS
  2277.          menu choice(s) with BOOT.EXE if BOOT.OPTION FREE is used under
  2278.          MS/PC-DOS 5.0 or earlier.
  2279.  
  2280.  
  2281.      BOOT.SYS                       -  43  -                   Version 2.00
  2282.  
  2283.  
  2284.  
  2285.         BOOT.OPTION EXTMON
  2286.  
  2287.                DEVICE=BOOT.OPTION EXTMON type
  2288.  
  2289.           This command switches the display to an external monitor on
  2290.           laptop computers that are appropriately equipped.
  2291.  
  2292.           WARNING:  WE STRONGLY ADVISE THAT YOU HAVE A BOOTABLE DISKETTE
  2293.           AVAILABLE BEFORE YOU TEST EXTMON ON YOUR COMPUTER.  IF THE
  2294.           COMMAND DOES NOT WORK PROPERLY, YOUR SCREEN MAY GO BLANK AND YOU
  2295.           WILL HAVE NO WAY TO EDIT CONFIG.SYS UNTIL YOU REBOOT FROM A
  2296.           FLOPPY DISKETTE.
  2297.  
  2298.           If you use BOOT.SYS with a portable or laptop computer with an
  2299.           external monitor, the menus will usually be displayed on the
  2300.           laptop's built-in monitor, not on the external monitor.
  2301.           BOOT.OPTION EXTMON tries to switch the BOOT.SYS display to the
  2302.           external monitor.  However, because there are no industry
  2303.           standards for switching monitors (sometimes different,
  2304.           undocumented techniques are needed for different computers from
  2305.           the same manufacturer), this command may or may not work on your
  2306.           particular machine.
  2307.  
  2308.           If you use this command, you must specify the computer type.  For
  2309.           all Compaq portable and laptop computers, specify the type as
  2310.           COMPAQ and write the command as
  2311.  
  2312.                DEVICE=BOOT.OPTION EXTMON COMPAQ
  2313.  
  2314.           For all other computers with an external color screen, use the
  2315.           type COLOR.
  2316.  
  2317.           Finally, for computers with an external monochrome screen,
  2318.           specify the type as MONO.
  2319.  
  2320.           Some laptop computers are smart enough to know whether or not
  2321.           they are attached to an external monitor.  If BOOT.SYS tries to
  2322.           switch to an external monitor on such a machine when no external
  2323.           monitor is attached, the computer will ignore the command and
  2324.           continue to display everything on its internal monitor.  If you
  2325.           have such a machine, you can put the BOOT.OPTION EXTMON command
  2326.           immediately after DEVICE=d:\path\BOOT.SYS and know that all text
  2327.           and menus will appear on the correct screen.
  2328.  
  2329.           On the other hand, if your portable or laptop is not smart enough
  2330.           to sense whether an external monitor is in use, you will probably
  2331.           want to use commands like this:
  2332.  
  2333.                DEVICE=d:\path\BOOT.SYS
  2334.                DEVICE=BOOT.A /D1 /T5
  2335.                DEVICE=BOOT.TOP Which monitor do you want to use?
  2336.                DEVICE=BOOT.1 Internal
  2337.  
  2338.  
  2339.     BOOT.SYS                       -  44  -                   Version 2.00
  2340.  
  2341.  
  2342.               DEVICE=BOOT.2 External
  2343.               DEVICE=BOOT.OPTION EXTMON COLOR
  2344.  
  2345.               DEVICE=BOOT.B    {this is your first "real" menu}
  2346.               {etc.}
  2347.  
  2348.  
  2349.        BOOT.OPTION COLOR
  2350.  
  2351.               DEVICE=BOOT.OPTION COLOR hh
  2352.  
  2353.          This command sets the screen color for DOS to use after BOOT.SYS
  2354.          ends.  The color will stay in effect until it is changed by a
  2355.          device driver's or TSR's installation message, a DOS CLS command
  2356.          (perhaps issued in AUTOEXEC.BAT) or an application program.  The
  2357.          hh is a two-digit hexadecimal code.  The first digit sets the
  2358.          background color;  the second digit sets the foreground color.
  2359.          The possible color values are shown in the following chart:
  2360.  
  2361.  
  2362.                 Color         Background          Foreground
  2363.                            Normal   Blinking   Normal    Bright
  2364.  
  2365.                 black        0         8         0         8
  2366.                 blue         1         9         1         9
  2367.                 green        2         A         2         A
  2368.                 cyan         3         B         3         B
  2369.                 red          4         C         4         C
  2370.                 magenta      5         D         5         D
  2371.                 brown        6         E         6         E
  2372.                 white        7         F         7         F
  2373.  
  2374.  
  2375.  
  2376.  
  2377.     BOOT.REM
  2378.  
  2379.               DEVICE=BOOT.REM text
  2380.  
  2381.          This command is intended for use primarily with older versions of
  2382.          DOS which do not accept a REM command in CONFIG.SYS to mark a
  2383.          line as a remark.  All text following the command is ignored and
  2384.          discarded.
  2385.  
  2386.          You can also use BOOT.REM to create additional working space if
  2387.          BOOT.SYS runs out of working memory.  If this happens, BOOT.SYS
  2388.          will display an error message.  To create more working memory,
  2389.          follow BOOT.REM with dummy text or a line of spaces terminated
  2390.          with a non-space character.  The additional space can be used by
  2391.          both the BOOT.SET and BOOT.EDIT commands.  The BOOT.REM command
  2392.          that creates the extra memory must precede the command that will
  2393.          use that memory.
  2394.  
  2395.  
  2396.      BOOT.SYS                       -  45  -                   Version 2.00
  2397.  
  2398.  
  2399.  
  2400.  
  2401.      BOOT.RENAME
  2402.  
  2403.                DEVICE=BOOT.RENAME oldname newname...
  2404.  
  2405.           This command is used to rename files while booting up.  In
  2406.           general, you can do this from AUTOEXEC.BAT, but there are some
  2407.           programs that force you to swap their files when BOOT.SYS runs,
  2408.           such as a memory manager which automatically re-optimizes your
  2409.           configuration when it detects any change (such as selecting a
  2410.           different configuration with BOOT.SYS).
  2411.  
  2412.           Wildcards are NOT supported and you have to spell out the full
  2413.           path for both the original and new file names.  No error checking
  2414.           is done;  if the original file doesn't exist or the rename
  2415.           operation fails for any reason, no error message is generated. If
  2416.           more than one new file name is given, BOOT.SYS tries to rename
  2417.           the original file to each one in sequence, stopping after the
  2418.           first successful attempt.
  2419.  
  2420.           As an example, this is how you could switch between two different
  2421.           Windows screen modes:
  2422.  
  2423.                  DEVICE=BOOT.5 Windows (high res)
  2424.                     DEVICE=BOOT.RENAME c:\win\system.ini c:\win\syslow.ini
  2425.                                        c:\win\syshi.ini
  2426.                     DEVICE=BOOT.RENAME c:\win\syshi.ini c:\win\system.ini
  2427.                  DEVICE=BOOT.6 Windows (low res)
  2428.                     DEVICE=BOOT.RENAME c:\win\system.ini c:\win\syslow.ini
  2429.                                        c:\win\syshi.ini
  2430.                     DEVICE=BOOT.RENAME c:\win\syslow.ini c:\win\system.ini
  2431.  
  2432.  
  2433.      BOOT.SET and Enhanced Commands
  2434.  
  2435.                DEVICE=BOOT.SET [param] variable=[text]
  2436.  
  2437.           This command is similar to the DOS SET command.  It creates
  2438.           environment variables in the form variable=text.  The variable
  2439.           name is always stored in upper case letters.  You can use either
  2440.           the /U, /Uc, or /Uct parameter (see page 29) to control the case
  2441.           of the text after the equal sign.  The environment variables are
  2442.           transferred to your DOS environment automatically under MS/PC-DOS
  2443.           6.0 and DR DOS.  If you use an earlier version of DOS, the
  2444.           variables are transferred to the DOS environment with the command
  2445.           BOOT SET, which should always be included in your AUTOEXEC.BAT
  2446.           file (see page 60).
  2447.  
  2448.           Variables created with BOOT.SET can be used in the portion of
  2449.           your CONFIG.SYS file controlled by BOOT.SYS by enclosing the
  2450.           variable name in percent signs (e.g., %variable%).  BOOT.SYS will
  2451.  
  2452.  
  2453.     BOOT.SYS                       -  46  -                   Version 2.00
  2454.  
  2455.  
  2456.          substitute the text for the variable name before executing the
  2457.          line.
  2458.  
  2459.          You can use variables to simplify the commands in your CONFIG.SYS
  2460.          file.  For example, you might include the following line near the
  2461.          top of the BOOT.SYS block:
  2462.  
  2463.               DEVICE=BOOT.SET lh=c:\qemm\loadhi.sys
  2464.  
  2465.          Later in the block, perhaps as part of a menu item, you could
  2466.          then include the following line:
  2467.  
  2468.               DEVICE=%lh% c:\dos\ansi.sys
  2469.  
  2470.          BOOT.SYS will recognize %lh% as a variable and expand the line as
  2471.  
  2472.               DEVICE=c:\qemm\loadhi.sys c:\dos\ansi.sys
  2473.  
  2474.          before it's executed.
  2475.  
  2476.          Due to the internal workings of MS-DOS and PC-DOS, it is not
  2477.          possible to include a CONFIG.SYS command as part of the
  2478.          variable's text.  For example,
  2479.  
  2480.               DEVICE=BOOT.SET ansi=device=c:\dos\ansi.sys
  2481.               %ansi%
  2482.  
  2483.          will generate an "Unrecognized command" error in all versions of
  2484.          MS-DOS and PC-DOS.  If you are using DR DOS, the second line will
  2485.          be correctly expanded to
  2486.  
  2487.               device=c:\dos\ansi.sys
  2488.  
  2489.          If you want to remove a string from the environment and release
  2490.          its space, use the BOOT.SET command without any text, like this:
  2491.  
  2492.               DEVICE=BOOT.SET lh=
  2493.  
  2494.          If you use MS/PC-DOS 6.0 or DR DOS, you can use SET instead of
  2495.          DEVICE=BOOT.SET in CONFIG.SYS.  Under these DOS versions,
  2496.          BOOT.SYS internally translates DEVICE=BOOT.SET commands to SET
  2497.          commands in order to store the variables in the DOS environment.
  2498.  
  2499.          There are two important differences between DEVICE=BOOT.SET and
  2500.          SET in these DOS versions:
  2501.  
  2502.            *  Variables defined with DEVICE=BOOT.SET can be used in
  2503.               CONFIG.SYS as explained above, but they are translated to
  2504.               upper case.
  2505.  
  2506.            *  Variables defined with SET retain their case, but they
  2507.               cannot be used in CONFIG.SYS.
  2508.  
  2509.  
  2510.      BOOT.SYS                       -  47  -                   Version 2.00
  2511.  
  2512.  
  2513.  
  2514.           Earlier versions of MS/PC-DOS don't support the SET command in
  2515.           CONFIG.SYS and you must use DEVICE=BOOT.SET.  If you use one of
  2516.           these versions, you can create up to about 2K bytes of variables.
  2517.           BOOT.SYS will keep them resident until you reboot your computer,
  2518.           and will add about 100 bytes of additional overhead.
  2519.  
  2520.           Variables created with BOOT.SET can be used on the right side of
  2521.           the equal sign [=] in all standard CONFIG.SYS commands.  You can
  2522.           also use variables in BOOT.SYS commands like BOOT.IF and BOOT.?
  2523.           for testing conditions;  in display commands like BOOT.TOP and
  2524.           BOOT.# to create text dynamically;  and in executable BOOT.SYS
  2525.           commands like BOOT.SET, BOOT.OPTION, or BOOT.RENAME.
  2526.  
  2527.           We have coined the term enhanced command to mean a standard DOS
  2528.           CONFIG.SYS command with or without variables.  More formally,
  2529.           when the term enhanced command is used in this manual, it means
  2530.           either of
  2531.  
  2532.             *  a standard DOS CONFIG.SYS command,
  2533.  
  2534.             *  a standard DOS CONFIG.SYS command with variables defined by
  2535.                BOOT.SET.  All references in the form %name% will be
  2536.                replaced by the corresponding values;  if %name% is not
  2537.                defined it is simply removed, similar to the DOS BATch
  2538.                language.  To specify a percent sign [%], use two of them
  2539.                [%%].
  2540.  
  2541.             *  an executable BOOT.SYS command, with or without variables.
  2542.  
  2543.             *  BOOT.EDIT followed by a single enhanced command.
  2544.  
  2545.  
  2546.  
  2547.      BOOT.TOP
  2548.  
  2549.                DEVICE=BOOT.TOP text
  2550.  
  2551.           This command displays a single line of text in the top window.
  2552.           You can use multiple BOOT.TOP commands to display more than one
  2553.           line of text.  The colors of the text are controlled by the
  2554.           command line parameters set in the DEVICE=d:\path\BOOT.SYS line
  2555.           or in the most recent DEVICE=BOOT.c menu line.
  2556.  
  2557.           BOOT.SYS displays the text specified with DEVICE=BOOT.TOP in a
  2558.           window or box and the menu in another window.  If you don't use
  2559.           DEVICE=BOOT.TOP to display explanatory text, only the menu window
  2560.           will appear on the screen.
  2561.  
  2562.  
  2563.     BOOT.SYS                       -  48  -                   Version 2.00
  2564.  
  2565.  
  2566.  
  2567.  
  2568.     Common Sections
  2569.  
  2570.          There are several places in a BOOT.SYS menu structure where
  2571.          commands are shared among several menu items:
  2572.  
  2573.            1. Commands above BOOT.SYS and below BOOT.END are global and
  2574.               apply to all configurations.  With many of the CONFIG.SYS
  2575.               commands (such as FILES=, BUFFERS=, and other commands that
  2576.               don't load programs, as well as SHELL=) you can set defaults
  2577.               above the BOOT.SYS line and change these in some of the
  2578.               configurations.
  2579.  
  2580.            2. In simple menus:
  2581.  
  2582.                 DEVICE=d:\path\BOOT.SYS
  2583.                 {common}
  2584.                 DEVICE=BOOT.TOP ...
  2585.                 DEVICE=BOOT.1 ...
  2586.                 DEVICE=BOOT.2 ...
  2587.                    ...
  2588.                 DEVICE=BOOT.0   {only needed if common commands below}
  2589.                 {common}
  2590.                 DEVICE=BOOT.END
  2591.  
  2592.            3. In menu sequences:
  2593.  
  2594.                 DEVICE=d:\path\BOOT.SYS
  2595.                 {common}
  2596.                 DEVICE=BOOT.A
  2597.                    {common}
  2598.                    DEVICE=BOOT.TOP ...
  2599.                    DEVICE=BOOT.1 ...
  2600.                    DEVICE=BOOT.2 ...
  2601.                       ...
  2602.                    DEVICE=BOOT.0   {only needed if common commands below}
  2603.                    {common}
  2604.                 DEVICE=BOOT.B
  2605.                    {common}
  2606.                    DEVICE=BOOT.TOP ...
  2607.                    DEVICE=BOOT.1 ...
  2608.                    DEVICE=BOOT.2 ...
  2609.                       ...
  2610.                    DEVICE=BOOT.0   {only needed if common commands below}
  2611.                    {common}
  2612.                    ...
  2613.                 DEVICE=BOOT.Z
  2614.                 {common}
  2615.                 DEVICE=BOOT.END
  2616.  
  2617.  
  2618.      BOOT.SYS                       -  49  -                   Version 2.00
  2619.  
  2620.  
  2621.  
  2622.             4. In submenus:
  2623.  
  2624.                  DEVICE=d:\path\BOOT.SYS
  2625.                  {common}
  2626.                  DEVICE=BOOT.TOP ...
  2627.                  DEVICE=BOOT.1 ...
  2628.                     {common within item 1}
  2629.                     DEVICE=BOOT.A
  2630.                        DEVICE=BOOT.TOP
  2631.                        DEVICE=BOOT.1
  2632.                           ...
  2633.                     DEVICE=BOOT.Z
  2634.                     {common within item 1}
  2635.                  DEVICE=BOOT.2 ...
  2636.                     ...
  2637.                  DEVICE=BOOT.0   {only needed if common commands below}
  2638.                  {common}
  2639.                  DEVICE=BOOT.END
  2640.  
  2641.           In general, you can rely on BOOT.SYS behaving reasonably.  If a
  2642.           command does not belong to a menu item because it's above
  2643.           BOOT.TOP, BOOT.1, or BOOT.A, or below BOOT.0 or BOOT.Z, BOOT.SYS
  2644.           treats it as common among all menu items.
  2645.  
  2646.           If you need to share commands among some menu items but not all,
  2647.           you can use BOOT.IF as shown in the discussion of the MS/PC-DOS
  2648.           6.0 INCLUDE= Command on page 23, or you may want to create a
  2649.           submenu for these items.
  2650.  
  2651.  
  2652.     BOOT.SYS                       -  50  -                   Version 2.00
  2653.  
  2654.  
  2655.  
  2656.  
  2657.                           Other CONFIG.SYS Commands
  2658.  
  2659.  
  2660.  
  2661.  
  2662.     DEVICE=d:\path\PAUSE.SYS
  2663.  
  2664.               DEVICE=d:\path\PAUSE.SYS [/Q] [param] [text]
  2665.  
  2666.          This command is intended as a debugging aid for creating complex
  2667.          or sophisticated menu systems.  PAUSE.SYS is a stand-alone
  2668.          program, so it can be used anywhere in your CONFIG.SYS file, not
  2669.          just inside the BOOT.SYS block.  If you use it inside the
  2670.          BOOT.SYS block, it will not be executed until BOOT.SYS has
  2671.          processed all of your menus and returned control to DOS.
  2672.  
  2673.          In its simplest form, PAUSE.SYS is simply followed by any text
  2674.          you wish.  It will display the text on the screen and wait for
  2675.          you to press a key to continue.  By default, all text is
  2676.          translated to lower case.  To display a character in upper case,
  2677.          precede it with a caret [^].  To display a caret, include two
  2678.          carets in a row in the text.
  2679.  
  2680.          All the command line parameters except /Q disable the wait for a
  2681.          keystroke.  If you want to use one and also pause for a key, call
  2682.          PAUSE.SYS twice in succession.  Except for /Q, parameters may not
  2683.          be combined in a single command.
  2684.  
  2685.          For a summary of the PAUSE.SYS syntax, type
  2686.  
  2687.               TYPE d:\path\PAUSE.SYS
  2688.  
  2689.          Available parameters:
  2690.  
  2691.        /C
  2692.  
  2693.               DEVICE=d:\path\PAUSE.SYS /C
  2694.  
  2695.          This command clears the screen to the default colors (normally
  2696.          white on black).
  2697.  
  2698.        /E
  2699.  
  2700.               DEVICE=d:\path\PAUSE.SYS /Eseq
  2701.  
  2702.          This command generates an escape sequence that is sent to
  2703.          ANSI.SYS or a compatible console driver.  It assumes that the
  2704.          driver has already been loaded.  The /E sends the escape code
  2705.          (ASCII 27);  you must follow it immediately with any ANSI command
  2706.          supported by the driver you use.  Remember that upper case
  2707.  
  2708.  
  2709.      BOOT.SYS                       -  51  -                   Version 2.00
  2710.  
  2711.  
  2712.           letters must be preceded by a caret [^], e.g. /E[2^J to clear the
  2713.           screen.
  2714.  
  2715.         /O
  2716.  
  2717.                DEVICE=d:\path\PAUSE.SYS /O text
  2718.  
  2719.           This command displays text on the screen but does not wait for a
  2720.           keystroke.
  2721.  
  2722.         /P
  2723.  
  2724.                DEVICE=d:\path\PAUSE.SYS /P
  2725.  
  2726.           This command does a print screen, so you can generate a hard copy
  2727.           of the current screen for study and debugging.
  2728.  
  2729.         /Q
  2730.  
  2731.                DEVICE=d:\path\PAUSE.SYS /Q [param] [text]
  2732.  
  2733.           This parameter hides the PAUSE.SYS copyright message.  It does
  2734.           not disable the wait for a keystroke.  It may be combined with
  2735.           text or with any of the parameters above.
  2736.  
  2737.  
  2738.      DEVICE=REM
  2739.  
  2740.           This command, which is equivalent to DEVICE=BOOT.REM, is provided
  2741.           only for compatibility with previous versions of BOOT.SYS.
  2742.           Support for this command may be dropped in future versions of
  2743.           BOOT.SYS, so it should no longer be used.
  2744.  
  2745.  
  2746.      DEVICE=TOP text
  2747.  
  2748.           This command, which is equivalent to DEVICE=BOOT.TOP, is provided
  2749.           only for compatibility with previous versions of BOOT.SYS.
  2750.           Support for this command may be dropped in future versions of
  2751.           BOOT.SYS, so it should no longer be used.
  2752.  
  2753.  
  2754.     BOOT.SYS                       -  52  -                   Version 2.00
  2755.  
  2756.  
  2757.  
  2758.  
  2759.                               BOOT.EXE Commands
  2760.  
  2761.  
  2762.  
  2763.               BOOT [Command]
  2764.  
  2765.          BOOT.SYS and its many commands work with DOS to process your
  2766.          CONFIG.SYS file.  But the task of creating a complete computer
  2767.          configuration is not over until the instructions in your
  2768.          AUTOEXEC.BAT file have also been executed.  BOOT.EXE gives you
  2769.          control over your AUTOEXEC.BAT;  it also communicates with the
  2770.          small memory-resident device driver that BOOT.SYS leaves in
  2771.          memory with all versions of MS/PC-DOS prior to 6.0.
  2772.  
  2773.          Under MS/PC-DOS 6.0 and DR DOS, BOOT.SYS uses an environment
  2774.          variable that is also called BOOT.SYS to communicate with
  2775.          BOOT.EXE.  If you remove that variable from the environment,
  2776.          BOOT.EXE will complain that BOOT.SYS is not installed.
  2777.  
  2778.          BOOT.EXE is a normal executable program.  Like many such
  2779.          programs, it communicates with batch files by returning an exit
  2780.          code or Errorlevel value.  In general, BOOT.EXE returns an
  2781.          Errorlevel of 0 to indicate success and an Errorlevel of 255 to
  2782.          indicate a general failure.  The meaning of other Errorlevels is
  2783.          explained in the following command reference.
  2784.  
  2785.          The primary task of BOOT.EXE under MS/PC-DOS up to 5.0 is to set
  2786.          environment variables in the current parent environment, which
  2787.          batch files (and other programs) can test and use.  The parent
  2788.          environment, in this sense, is the environment owned by the
  2789.          program that executes BOOT.EXE.  Normally, this is the
  2790.          environment maintained by the command processor that is running
  2791.          BOOT.EXE or the current batch file.  In almost all cases, the
  2792.          environment variables will appear where you expect and need them.
  2793.  
  2794.          However, if you use BOOT.EXE to set environment variables after
  2795.          you have "shelled to DOS" from an application program, or if you
  2796.          use one batch file to start another by using COMMAND instead of
  2797.          CALL, and then run BOOT.EXE in the second batch file, the
  2798.          environment variables will not appear when you return to your
  2799.          main batch file or to the DOS prompt.
  2800.  
  2801.    !!    If you are running under MS/PC-DOS 6.0 or DR DOS, BOOT.SYS
  2802.   !!!!   transfers the variables directly to the master environment, but
  2803.   !!!!   YOU MUST RUN THE FOLLOWING COMMAND AT THE BEGINNING OF
  2804.    !!    AUTOEXEC.BAT UNDER ALL VERSIONS OF DOS because it performs other
  2805.    !!    house keeping tasks as well:
  2806.  
  2807.    !!         d:\path\BOOT.EXE SET
  2808.  
  2809.  
  2810.      BOOT.SYS                       -  53  -                   Version 2.00
  2811.  
  2812.  
  2813.  
  2814.           Because BOOT.EXE is a standard executable file, it can be used
  2815.           both in batch files and from the DOS command line.  However, as
  2816.           the descriptions of the commands suggest, some BOOT.EXE commands
  2817.           are better suited to one use or the other.
  2818.  
  2819.           Install does not add the BOOT.SYS directory to your PATH command.
  2820.           You can do either of:
  2821.  
  2822.             *  Use the fully qualified name to call BOOT.EXE:
  2823.  
  2824.                d:\path\BOOT [command]
  2825.  
  2826.             *  Copy BOOT.EXE to your utilities directory which is already
  2827.                in the PATH.
  2828.  
  2829.             *  Add the BOOT.SYS drive/directory to the PATH command in your
  2830.                AUTOEXEC.BAT file.
  2831.  
  2832.           For better clarity we don't include "d:\path\" in the following
  2833.           sections.
  2834.  
  2835.  
  2836.      BOOT with no Command
  2837.  
  2838.                BOOT
  2839.  
  2840.           When BOOT.EXE is invoked with no command, it displays a list of
  2841.           BOOT.SYS menu choices that the user made during boot-up.  The
  2842.           display might look something like this:
  2843.  
  2844.                The user selected the following menu choices:
  2845.                     A1
  2846.                     B3
  2847.                     B3A1
  2848.  
  2849.           This display means that during boot-up, the user selected item
  2850.           one on the first menu, Menu A, and then item 3 on the second
  2851.           menu, Menu B.  The second choice led to a submenu (Menu B3A),
  2852.           from which the user selected item 1.
  2853.  
  2854.           This display is similar to what appears on the menu screens if
  2855.           you use the /P parameter on the BOOT.SYS command line (see
  2856.           page 33).  With the /P parameter, you would see A, B, and B3A,
  2857.           for the menus in this example.
  2858.  
  2859.  
  2860.      BOOT CLEAR
  2861.  
  2862.                BOOT CLEAR
  2863.  
  2864.           This command erases the BOOT.SYS variables from the environment
  2865.           and releases the environment space for other uses.  These are the
  2866.  
  2867.  
  2868.     BOOT.SYS                       -  54  -                   Version 2.00
  2869.  
  2870.  
  2871.          variables that were defined in your CONFIG.SYS file and later
  2872.          moved to the environment with the BOOT SET command.  Using BOOT
  2873.          CLEAR has the same effect as typing
  2874.  
  2875.               SET var=
  2876.  
  2877.          for each variable that was created with BOOT SET.
  2878.  
  2879.          BOOT CLEAR does not work under MS/PC-DOS 6.0 and DR DOS.
  2880.  
  2881.  
  2882.     BOOT COLD
  2883.  
  2884.               BOOT COLD [[/Xd:\path\filename] name ... [/KEEP[?]]]
  2885.  
  2886.          This command performs a cold boot, similar to pressing a hardware
  2887.          reset switch or turning the computer's power switch off and then
  2888.          on.
  2889.  
  2890.          All the optional parameters are used for rebooting to the
  2891.          specific configuration, name.  See page 64 for details.
  2892.  
  2893.          This command has been tested on a wide variety of hardware and
  2894.          software,  but it may not work on your specific computer.  If it
  2895.          does not work, you need to use whatever works to reboot your
  2896.          system.  To reboot into a specific configuration on such a
  2897.          computer, you can create the BOOT.NXT file with a command like
  2898.  
  2899.               ECHO name... [/KEEP[?]] >c:\BOOT.NXT
  2900.  
  2901.          before rebooting.
  2902.  
  2903.  
  2904.     BOOT Date or Time
  2905.  
  2906.               BOOT element[=] [filename | yymmddhhmm[ss]]
  2907.  
  2908.          This command evaluates the system clock, the time stamp on a
  2909.          file, or a date and time string.  It returns part of a date or
  2910.          time as an Errorlevel and displays the result on the screen in a
  2911.          format like YEAR=93.
  2912.  
  2913.          If the optional equal sign [=] is present, an environment
  2914.          variable is also created with the same name as the date or time
  2915.          element (for example, YEAR=93 or MONTH=05).
  2916.  
  2917.          By default, this command reads and returns information about the
  2918.          system clock.  If you include the optional filename, and if
  2919.          BOOT.EXE can find the file, it uses the time stamp of the file
  2920.          instead of the system clock.
  2921.  
  2922.          If you include a date and time in the format yymmddhhmm or
  2923.          yymmddhhmmss (year, month, day, hour, minute and second, each as
  2924.  
  2925.  
  2926.      BOOT.SYS                       -  55  -                   Version 2.00
  2927.  
  2928.  
  2929.           2 digits), that date and time are used instead of the system
  2930.           clock.  The year portion of the date and time string (yy) must be
  2931.           between 80 (for 1980) and 37 (for 2037).
  2932.  
  2933.           BOOT.EXE supports the following date and time commands:
  2934.  
  2935.         TIME /?
  2936.  
  2937.           Displays a summary of all BOOT date and time commands.  No
  2938.           Errorlevel is returned and no environment variable is created.
  2939.  
  2940.         DAY (day of month)
  2941.  
  2942.           The Errorlevel returned is the day of the month between 1 and 31.
  2943.           If an environment variable is created, it is in the format
  2944.           DAY=nn, with nn being a two-digit day of the month (01 to 31).
  2945.  
  2946.         DOW (day of week)
  2947.  
  2948.           The Errorlevel returned is the day of the week between 1 and 7,
  2949.           with Monday = 1 and Sunday = 7.  If an environment variable is
  2950.           created, it is in the format DOW=n, with n being a one-digit
  2951.           number between 1 and 7.
  2952.  
  2953.         DOWN (day of week name)
  2954.  
  2955.           The Errorlevel returned is the same as for DOW, above.  If an
  2956.           environment variable is created, it is in the format DOWN=ccc
  2957.           with ccc being a three-letter abbreviation of the day name in
  2958.           upper case letters (MON, TUE, etc.).
  2959.  
  2960.         DOY (day of year)
  2961.  
  2962.           The day of the year (1 to 366) is evaluated.  The Errorlevel
  2963.           returned is the last two digits of the day of the year.  If an
  2964.           environment variable is created, it is in the format DOY=nnn with
  2965.           nnn being a three-digit number between 001 and 366.
  2966.  
  2967.         DOYH (day of year hundreds' digit)
  2968.  
  2969.           The day of the year (1 to 366) is evaluated.  The Errorlevel
  2970.           returned is the hundreds' digit of the result (0 to 3).  If an
  2971.           environment variable is created, it is in the format DOY=nnn with
  2972.           nnn being a three-digit number between 001 and 366.
  2973.  
  2974.         HOUR
  2975.  
  2976.           The Errorlevel returned is the hour between 0 and 23.  If an
  2977.           environment variable is created, it is in the format HOUR=nn with
  2978.           nn being a two-digit number between 00 and 23.
  2979.  
  2980.  
  2981.     BOOT.SYS                       -  56  -                   Version 2.00
  2982.  
  2983.  
  2984.  
  2985.        MINUTE
  2986.  
  2987.          The Errorlevel returned is the minute between 0 and 59.  If an
  2988.          environment variable is created, it is in the format MINUTE=nn
  2989.          with nn being a two-digit number between 00 and 59.
  2990.  
  2991.        MONTH
  2992.  
  2993.          The Errorlevel returned is the month between 1 and 12.  If an
  2994.          environment variable is created, it is in the format MONTH=nn
  2995.          with nn being a two-digit number between 01 and 12.
  2996.  
  2997.        MONTHN (month name)
  2998.  
  2999.          The Errorlevel returned is the month between 1 and 12.  If an
  3000.          environment variable is created, it is in the format MONTHN=ccc
  3001.          with ccc being a three-letter abbreviation of the month name in
  3002.          upper case letters (JAN, FEB, etc.)
  3003.  
  3004.        SECOND
  3005.  
  3006.          The Errorlevel returned is the seconds between 0 and 59.  If an
  3007.          environment variable is created, it is in the format SECOND=nn
  3008.          with nn being a two-digit number between 00 and 59.
  3009.  
  3010.        TIME
  3011.  
  3012.          Displays all date/time elements;  the Errorlevel returned is 0.
  3013.          If an environment variable is created, it is in the format
  3014.          TIME=01-JAN-1993  12:30:00, DAY 001, FRI (5) OF WEEK 00.
  3015.  
  3016.          This command is most useful for testing and debugging.
  3017.  
  3018.        WEEK (week of the year)
  3019.  
  3020.          The week of the year, between 0 and 53, is calculated.  The first
  3021.          Monday of the year begins week 1, and each succeeding week begins
  3022.          on a Monday.  Dates before the first Monday of the year are
  3023.          reported as part of week 0.  The Errorlevel returned is the week
  3024.          of the year.  If an environment variable is created, it is in the
  3025.          format WEEK=nn with nn being a number between 00 and 53.
  3026.  
  3027.        YEAR (two-digit year number)
  3028.  
  3029.          The Errorlevel returned is the last two digits of the year (0 to
  3030.          99).  If an environment variable is created, it is in the format
  3031.          YEAR=nn with nn being between 00 and 99.
  3032.  
  3033.        YEAR3 (three-digit year number)
  3034.  
  3035.          The Errorlevel returned is the year number minus 1900.  For
  3036.          example, the year 1993 is returned as 93;  2001 is returned as
  3037.  
  3038.  
  3039.      BOOT.SYS                       -  57  -                   Version 2.00
  3040.  
  3041.  
  3042.           101.  The highest acceptable year is 2037, for which BOOT YEAR3
  3043.           returns an Errorlevel of 137.  If an environment variable is
  3044.           created, it is in the format YEAR3=nnn with nnn between 000 and
  3045.           137.
  3046.  
  3047.         YEAR4 (four-digit year number)
  3048.  
  3049.           The Errorlevel returned is the year number minus 1980.  For
  3050.           example, 1993 is returned as 13;  2001 is returned as 21.  The
  3051.           highest acceptable year is 2037, for which BOOT YEAR4 returns an
  3052.           Errorlevel of 57.  If an environment variable is created, it is
  3053.           in the format YEAR4=nnnn with nnnn being the complete, four-digit
  3054.           year number (1980 or later).
  3055.  
  3056.  
  3057.      BOOT HELP
  3058.  
  3059.                BOOT HELP
  3060.  
  3061.           This command displays a list of the available BOOT.EXE commands.
  3062.  
  3063.  
  3064.      BOOT OnceA...
  3065.  
  3066.                  BOOT frequency filename [/T] [/E] [m] [+n] [?[sy|n] text]
  3067.  
  3068.           This group of commands let you execute a portion of a batch file
  3069.           at specific intervals.  They return Errorlevel values that can be
  3070.           used to branch to different parts of a batch file or to select
  3071.           batch file lines for execution.
  3072.  
  3073.           These commands calculate the Errorlevel by comparing the system
  3074.           clock with the time stamp of a file that you specify.  You can
  3075.           have them prompt the user when they determine that the requisite
  3076.           time has elapsed.  You can also set time-out and default values
  3077.           for the prompt.  The user's response or the default response is
  3078.           also reported as Errorlevel values.
  3079.  
  3080.           Whether these commands update the time stamp on the file used in
  3081.           the Errorlevel calculation depends on both the elapsed time and
  3082.           the user's response to the prompt, if any:
  3083.  
  3084.  
  3085.     BOOT.SYS                       -  58  -                   Version 2.00
  3086.  
  3087.  
  3088.  
  3089.             Action & User Response         Errorlevel   Update time
  3090.                                                           stamp?
  3091.  
  3092.             Not Yet Triggered                   0           no
  3093.             Triggered, 'N' to prompt            1           no
  3094.             Triggered, time-out to 'N'          2           no
  3095.             Triggered, time-out to 'Y'          3           yes
  3096.             Triggered, 'Y' to prompt            4           yes
  3097.             Triggered, no prompt                4           yes
  3098.             File not found, created             5           yes
  3099.             File not found, cannot create       0
  3100.  
  3101.  
  3102.          An Errorlevel of 3 or above means that the scheduled actions
  3103.          should be performed.  Errorlevels 1 and 2 mean that it is time to
  3104.          perform the actions but the user declines to do so.
  3105.  
  3106.          The details of these commands are discussed along with the
  3107.          parameters below.
  3108.  
  3109.        frequency
  3110.  
  3111.          The frequency determines how often the action will be performed.
  3112.          The acceptable frequencies are
  3113.  
  3114.                    OnceAYear
  3115.                    OnceAMonth
  3116.                    OnceAWeek
  3117.                    OnceADay
  3118.                    OnceAnHour
  3119.                    OnceAMinute
  3120.                    OnceASecond
  3121.  
  3122.          The minimum resolution for OnceASecond is 2 seconds.
  3123.  
  3124.        filename
  3125.  
  3126.          This is the file that the command checks to determine whether the
  3127.          scheduled activity should be performed.  It is created
  3128.          automatically if it does not exist.  The file can be of any
  3129.          length (including zero bytes) and can have any combination of the
  3130.          read-only, hidden, or system attributes set.  Even if the file is
  3131.          marked read-only, the time stamp will be updated properly when
  3132.          the activity is triggered.
  3133.  
  3134.  
  3135.      BOOT.SYS                       -  59  -                   Version 2.00
  3136.  
  3137.  
  3138.  
  3139.           You can use BOOT TOUCH /C to create a file with the desired
  3140.           attributes (see page 61).
  3141.  
  3142.         /T
  3143.  
  3144.           This parameter is used to test the OnceA... commands.  When you
  3145.           use /T, the command tests whether the activity should be
  3146.           performed and returns the appropriate Errorlevel.  However, the
  3147.           time stamp on the file is not updated.
  3148.  
  3149.         /E
  3150.  
  3151.           This parameter displays the Errorlevel on the screen.  It can be
  3152.           used alone or in combination with /T to test the operation of
  3153.           these commands.
  3154.  
  3155.         m and +n
  3156.  
  3157.           These parameters are used to fine-tune the activity schedule.
  3158.           Both are numbers that adjust when the activity will be triggered.
  3159.           The units represented by each depend on the frequency parameter:
  3160.  
  3161.  
  3162.                     Frequency      m              +n units
  3163.  
  3164.                     OnceAYear      month of year  years
  3165.                     OnceAMonth     day of month   months
  3166.                     OnceAWeek      day of week    weeks
  3167.                     OnceADay       hour of day    days
  3168.                     OnceAnHour     minute         hours
  3169.                     OnceAMinute    second         minutes
  3170.                     OnceASecond    (ignored)      seconds
  3171.  
  3172.  
  3173.           The m parameter is used to define when the frequency period
  3174.           begins.  For example, an m value of 10 used with OnceADay would
  3175.           specify that days begin at 10:00 a.m.  An m value of 15 used with
  3176.           OnceAMonth would trigger the activity on or after the 15th of
  3177.           each month.
  3178.  
  3179.           The +n parameter (the leading plus sign [+] is mandatory) is used
  3180.           to set a minimum time between activity triggers.  For example, a
  3181.           +n value of +2 used with OnceADay would specify that at least two
  3182.           days must elapse between activities.  A +n value of +10 used with
  3183.           OnceAnHour would space activity triggers at least 10 hours apart.
  3184.           If the +n parameter is not specified, a value of 0 is assumed.
  3185.  
  3186.  
  3187.     BOOT.SYS                       -  60  -                   Version 2.00
  3188.  
  3189.  
  3190.  
  3191.          The following table gives some examples of how m and +n work with
  3192.          OnceADay.  The file time stamp is shown at the top;  the earliest
  3193.          time of the next activity trigger appears in the table:
  3194.  
  3195.  
  3196.             OnceADay     Mon 08:00    Mon 14:00    Explanation
  3197.             Parameters   Time stamp   Time stamp
  3198.  
  3199.             (none)       Tue 00:00    Tue 00:00    the next day
  3200.             9            Mon 09:00    Tue 09:00    the next day (days
  3201.                                                    start at 09:00)
  3202.             33  (24+9)   Tue 09:00    Tue 09:00    the next day,
  3203.                                                    starting at 09:00.
  3204.             +1           Tue 08:00    Tue 14:00    wait a day (24
  3205.                                                    hours)
  3206.             9  +1        Tue 09:00    Wed 09:00    wait a day (days
  3207.                                                    start at 09:00)
  3208.             33  +1       Wed 09:00    Wed 09:00    wait a day, same
  3209.                                                    as 33
  3210.  
  3211.  
  3212.        ? text
  3213.  
  3214.          If the question mark parameter [?] is included at the end of the
  3215.          command, the user will be prompted when the activity is
  3216.          triggered.  The prompt that will be used is the text which
  3217.          follows the question mark.  'Y' and 'N' are the only allowed
  3218.          responses to the prompt.
  3219.  
  3220.          If you wish to include a time-out and default response, the
  3221.          length of the time-out, in seconds, plus the default response
  3222.          must follow the question mark immediately with no intervening
  3223.          spaces.  For example, to pause 5 seconds and then enter N as a
  3224.          default response, you would use a statement similar to this in
  3225.          your batch file:
  3226.  
  3227.               BOOT OnceADay c:\oneday.trg ?5N prompt_text
  3228.  
  3229.  
  3230.     BOOT SET
  3231.  
  3232.               BOOT SET [/X[d:\path\filename]]
  3233.  
  3234.          Under MS/PC-DOS up to 5.0, this command collects the environment
  3235.          variables that were created during CONFIG.SYS processing and
  3236.          places them in the DOS environment.  It also performs other
  3237.          house-keeping functions, and it MUST BE RUN IN AUTOEXEC.BAT WITH
  3238.          ALL VERSIONS OF DOS to ensure that BOOT.SYS works as expected in
  3239.          all cases!
  3240.  
  3241.  
  3242.      BOOT.SYS                       -  61  -                   Version 2.00
  3243.  
  3244.  
  3245.  
  3246.           Under MS/PC-DOS 6.0 and DR DOS, BOOT.SYS uses the SET command in
  3247.           CONFIG.SYS to transfer the variables to the DOS environment and
  3248.           does not store them in its own storage.  Consequently, BOOT SET
  3249.           cannot be used to restore environment variables that you have
  3250.           removed.
  3251.  
  3252.           BOOT.SYS needs to pass other information besides the variable
  3253.           definitions to BOOT.EXE.  If the driver doesn't stay resident,
  3254.           this information is passed in a special environment variable that
  3255.           is also called "BOOT.SYS."  BOOT.EXE will complain that BOOT.SYS
  3256.           has not been installed if it doesn't find the resident driver or
  3257.           this environment variable.
  3258.  
  3259.           If BOOT.SYS used a BOOT.NXT file to create a named configuration,
  3260.           BOOT SET will search for and delete that file (or the file you
  3261.           indicate with the /Xfilename parameter).  See page 64 for more
  3262.           information.
  3263.  
  3264.  
  3265.      BOOT TOUCH
  3266.  
  3267.            BOOT TOUCH [/Q] [/C [/1] [/R] [/H]]
  3268.                [yymmddhhmm[ss] | /Fother_filename]
  3269.                filename...
  3270.  
  3271.           This command sets the time stamp, or "touches," one or more
  3272.           files.  It can also create the files if they don't exist.  You
  3273.           may use normal DOS wildcards [*] and [?] to specify groups of
  3274.           files.
  3275.  
  3276.           The optional parameters give BOOT TOUCH a great deal of
  3277.           flexibility:
  3278.  
  3279.         /C
  3280.  
  3281.           Instructs BOOT TOUCH to create the specified file or files with
  3282.           the indicated time stamp.
  3283.  
  3284.                /1
  3285.  
  3286.           This parameter can only be used with /C.  It instructs BOOT TOUCH
  3287.           to create one-byte files instead of zero-byte files with the
  3288.           indicated time stamp.  One-byte files can be copied with the DOS
  3289.           COPY command;  zero-byte files cannot.
  3290.  
  3291.                /R
  3292.  
  3293.           This parameter can only be used with /C.  It instructs BOOT TOUCH
  3294.           to mark the newly-created files with the read-only attribute.
  3295.  
  3296.  
  3297.     BOOT.SYS                       -  62  -                   Version 2.00
  3298.  
  3299.  
  3300.  
  3301.               /H
  3302.  
  3303.          This parameter can only be used with /C.  It instructs BOOT TOUCH
  3304.          to mark the newly-created files with the hidden attribute.
  3305.  
  3306.        /Q
  3307.  
  3308.          Instructs BOOT TOUCH to continue execution quietly (without an
  3309.          error message) when an error occurs.  Normally, BOOT TOUCH
  3310.          displays an error message, waits for a keystroke, and stops
  3311.          processing when it encounters an error.  BOOT TOUCH will report
  3312.          an error if it cannot find a specified file when the /C parameter
  3313.          is not used or if the file is already present when the /C
  3314.          parameter is used.  However, DOS errors such as "Access denied"
  3315.          or "Sharing violation" cannot be bypassed with /Q.
  3316.  
  3317.        yymmddhhmm[ss]
  3318.  
  3319.          This is a date and time specified as the year, month, day, hour,
  3320.          minutes, and seconds.  Each must be a two-digit number and you
  3321.          may not include any spaces or punctuation between them.  The
  3322.          seconds are optional.  The year must be between 80 (for 1980) and
  3323.          37 (for 2037).
  3324.  
  3325.          If you specify this parameter, BOOT TOUCH will use the date and
  3326.          time you specify, instead of the system clock, as the new time
  3327.          stamp for the files it touches.
  3328.  
  3329.        /Fother_filename
  3330.  
  3331.          If you specify this parameter, BOOT TOUCH will read the time
  3332.          stamp of the file you specify and use it, instead of the system
  3333.          clock, as the new time stamp for the files it touches.
  3334.  
  3335.        filename...
  3336.  
  3337.          One or more files that you want the command to touch.  You may
  3338.          use standard DOS wildcards [*] and [?] to touch groups of files.
  3339.          You must include the full path for each filename unless the files
  3340.          are in the default directory.  Do not use wildcards when you use
  3341.          the /C parameter.
  3342.  
  3343.  
  3344.     BOOT WARM
  3345.  
  3346.               BOOT WARM [[/Xd:\path\filename] name ... [/KEEP[?]]]
  3347.  
  3348.          This command performs a warm boot, similar to pressing the Ctrl,
  3349.          Alt, and Del keys simultaneously.
  3350.  
  3351.          The optional parameters are used for rebooting to the specific
  3352.          configuration named name.  See page 64 for details.
  3353.  
  3354.  
  3355.      BOOT.SYS                       -  63  -                   Version 2.00
  3356.  
  3357.  
  3358.  
  3359.           This command has been tested on a wide variety of hardware and
  3360.           software, but it may not work on your specific computer.  If it
  3361.           does not work, try BOOT COLD.
  3362.  
  3363.  
  3364.     BOOT.SYS                       -  64  -                   Version 2.00
  3365.  
  3366.  
  3367.  
  3368.  
  3369.                                 Named Reboots
  3370.  
  3371.  
  3372.  
  3373.          BOOT.EXE lets you reboot your computer from the command line or
  3374.          inside a batch file with the BOOT COLD and BOOT WARM commands
  3375.          (see pages 54 and 62).  The first command is similar to turning
  3376.          your computer off and back on or pressing a reset switch;  the
  3377.          second is similar to pressing Ctrl-Alt-Del.
  3378.  
  3379.          Normally, either reboot command would lead you through the
  3380.          BOOT.SYS menus in your CONFIG.SYS file.  But you may know what
  3381.          configuration you want and prefer to bypass the menus completely.
  3382.          Both BOOT COLD and BOOT WARM let you name the reboot
  3383.          configuration you want to use.
  3384.  
  3385.  
  3386.     Naming Configurations
  3387.  
  3388.          To use a named configuration, you must first name menu items in
  3389.          the portion of your CONFIG.SYS file that BOOT.SYS controls.  You
  3390.          can attach names to menu items in two ways.  If you use a simple
  3391.          menu structure, you probably already have the command
  3392.  
  3393.               DEVICE=BOOT.SET BOOT=name
  3394.  
  3395.          in each configuration.
  3396.  
  3397.          During a named reboot, BOOT.SYS will look for a name designated
  3398.          this way in your first menu and its submenus.  The search is
  3399.          case-insensitive.  If BOOT.SYS finds such a name, that will be
  3400.          the configuration that it selects automatically during the
  3401.          reboot.  If the name is in a submenu, BOOT.SYS will make the
  3402.          necessary choices to reach the submenu and then pick the
  3403.          appropriate menu item.
  3404.  
  3405.          For simple setups this method is usually sufficient, and you need
  3406.          not read the remainder of this section.  But if you have more
  3407.          than one menu, you probably need more flexibility.
  3408.  
  3409.          If BOOT.SYS doesn't find the name, it will then look for a line
  3410.          in this format:
  3411.  
  3412.               DEVICE=BOOT.NAME name
  3413.  
  3414.          If it finds that name, it will select the menu choice that it is
  3415.          attached to, again moving into submenus if necessary.
  3416.  
  3417.          If you have more than one top-level menu, BOOT.SYS will move
  3418.          through each, searching for the configuration name in each menu
  3419.  
  3420.  
  3421.      BOOT.SYS                       -  65  -                   Version 2.00
  3422.  
  3423.  
  3424.           and its submenus and making the appropriate choices
  3425.           automatically.  In each menu, it will first look for a
  3426.  
  3427.                DEVICE=BOOT.SET BOOT=name
  3428.  
  3429.           command and then a
  3430.  
  3431.                DEVICE=BOOT.NAME name
  3432.  
  3433.           command that matches the configuration that you have specified.
  3434.           During this process, each menu will flash on the screen to show
  3435.           you that BOOT.SYS is making the choices for you.
  3436.  
  3437.           If BOOT.SYS fails to find the name in a menu or its submenus, it
  3438.           will pause and wait for you to make the necessary menu
  3439.           selections, ignoring any /T (time-out) parameter.
  3440.  
  3441.           If you use the BOOT.NAME command to name configurations in your
  3442.           CONFIG.SYS file, you can attach the same name to items in more
  3443.           than one menu.  You can also attach more than one name to any
  3444.           individual menu choice.  If you use the BOOT.NAME command, you
  3445.           can create very sophisticated and complex named configurations.
  3446.           However, you need to remember that BOOT.SYS first tries to find a
  3447.           reboot configuration by looking for the simpler DEVICE=BOOT.SET
  3448.           BOOT=name syntax.  You should avoid using the same names for both
  3449.           commands or avoid using "BOOT" as an environment variable name.
  3450.  
  3451.  
  3452.      Selecting a Configuration
  3453.  
  3454.           Once you have named configurations (by using either BOOT.SET
  3455.           BOOT=, which is part of the standard set-up, or BOOT.NAME),
  3456.           selecting one is simply a matter of using one of two commands:
  3457.  
  3458.                BOOT COLD name
  3459.  
  3460.           or
  3461.  
  3462.                BOOT WARM name
  3463.  
  3464.           In both commands, the name (or names, if you include more than
  3465.           one) can be abbreviated by placing an asterisk [*] at the end of
  3466.           the abbreviation.  For example, a configuration called "windows"
  3467.           could be abbreviated as "win*" or even "w*" and BOOT.SYS will
  3468.           select the first configuration name that matches the
  3469.           abbreviation.  If you use an asterisk by itself as a
  3470.           configuration name (i.e., "BOOT WARM *"), BOOT.SYS will select
  3471.           the default item in the first menu.  (See page 68 for a more
  3472.           complete discussion of how BOOT.SYS processes the asterisk.)
  3473.  
  3474.           If they are followed by any text at all, the reboot commands
  3475.           create a file called BOOT.NXT in the root directory of the boot
  3476.           drive (or the root directory of the default drive in DOS versions
  3477.  
  3478.  
  3479.     BOOT.SYS                       -  66  -                   Version 2.00
  3480.  
  3481.  
  3482.          prior to 4.0).  The BOOT.NXT file contains everything on the
  3483.          command line after BOOT WARM or BOOT COLD;  that is, it contains
  3484.          the configuration name or names plus any command-line parameters
  3485.          you have included, except for the /X parameter.
  3486.  
  3487.          You can create the BOOT.NXT file with a text editor, if you
  3488.          prefer, or by using a command like one of these:
  3489.  
  3490.               COPY CON c:\BOOT.NXT
  3491.  
  3492.          and typing the configuration name and then pressing Ctrl-Z and
  3493.          Enter, or
  3494.  
  3495.               ECHO name > c:\BOOT.NXT
  3496.  
  3497.          When the computer reboots, BOOT.SYS looks for the BOOT.NXT file
  3498.          in the root directory of the boot drive.  If the file exists,
  3499.          BOOT.SYS uses the configuration name or names in the file instead
  3500.          of presenting menus to the user.  The menus still flash by on the
  3501.          screen to remind you that BOOT.SYS is making selections for you;
  3502.          there is no way to suppress the flash when BOOT.NXT is used.
  3503.  
  3504.          When you use BOOT.SYS, one of the first commands in your
  3505.          AUTOEXEC.BAT file will normally be BOOT SET (see page 60).
  3506.          Besides copying variables into the environment and other house
  3507.          keeping functions, BOOT SET checks whether any menu selections
  3508.          were made based on a BOOT.NXT file.  If so, BOOT SET will delete
  3509.          the file so that you will see the normal menus the next time you
  3510.          reboot.
  3511.  
  3512.          You can disable BOOT.NXT processing by turning on CapsLock before
  3513.          BOOT.SYS starts or by holding down any of the shift keys while
  3514.          BOOT.SYS starts.
  3515.  
  3516.          If BOOT.SYS finds the BOOT.NXT file but cannot match the first or
  3517.          only configuration name with the first menu or its submenus, it
  3518.          assumes that you created the file for some other purpose.  In
  3519.          such a case, it processes your menus normally and ignores the
  3520.          BOOT.NXT file entirely.  In addition, BOOT SET will not erase the
  3521.          file because the name in it was not used to make automatic menu
  3522.          selections.  This also happens when you mistype the name in the
  3523.          "BOOT WARM/COLD name" command!
  3524.  
  3525.  
  3526.     Reboot Options
  3527.  
  3528.          You can alter the action of BOOT SET during a named reboot by
  3529.          using one of two options on the BOOT COLD and BOOT WARM command
  3530.          line.  If you follow the configuration name or names with /KEEP,
  3531.          BOOT SET will not erase the BOOT.NXT file.  The same named
  3532.          configuration will be selected every time you boot your computer
  3533.          (unless you use BOOT WARM or BOOT COLD plus a different name or
  3534.          manually erase the BOOT.NXT file).  On the other hand, if you
  3535.  
  3536.  
  3537.      BOOT.SYS                       -  67  -                   Version 2.00
  3538.  
  3539.  
  3540.           follow the name or names with /KEEP?, BOOT SET will ask whether
  3541.           you wish to delete the BOOT.NXT file.
  3542.  
  3543.           If you prefer, you can use a filename other than BOOT.NXT.  To do
  3544.           so, you need to alter three commands.  First, the
  3545.           DEVICE=d:\path\BOOT.SYS line in your CONFIG.SYS file must be
  3546.           modified to include the name of the possible configuration file:
  3547.  
  3548.                DEVICE=d:\path\BOOT.SYS /Xd:\path\filename [params]
  3549.  
  3550.           Then, when you use BOOT WARM or BOOT COLD, you must add the name
  3551.           of the file before the configuration name like this:
  3552.  
  3553.                BOOT COLD /Xd:\path\filename name... [/KEEP[?]]
  3554.  
  3555.           or
  3556.  
  3557.                BOOT WARM /Xd:\path\filename name... [/KEEP[?]]
  3558.  
  3559.           Finally, if you want BOOT SET in AUTOEXEC.BAT to search for and
  3560.           erase the configuration name file, you must tell it what file to
  3561.           look for like this:
  3562.  
  3563.                d:\path\BOOT SET /Xd:\path\filename
  3564.  
  3565.  
  3566.      Using Multiple Configuration Names
  3567.  
  3568.           You may put more than one configuration name in a BOOT WARM or
  3569.           BOOT COLD command.  The reason for doing so is to make automatic
  3570.           selections from more than one menu.  For example, you may have
  3571.           one top-level menu that selects a memory manager and a second
  3572.           that selects DOS or Windows.  Once your CONFIG.SYS file is
  3573.           properly set up, you might then reboot with a command like
  3574.  
  3575.                BOOT WARM himem windows
  3576.  
  3577.           to select HIMEM.SYS as your memory manager and Windows as your
  3578.           operating environment.
  3579.  
  3580.           When the BOOT.NXT file contains more than one configuration name,
  3581.           BOOT.SYS applies the first name in as many menus (and their
  3582.           submenus) as possible.  When it comes to a menu in which it
  3583.           cannot use the first name, it looks in the BOOT.NXT file for
  3584.           another name.  If it can't find a second name, or if the second
  3585.           name doesn't provide a match in the current menu, BOOT.SYS will
  3586.           stop and wait for the user to continue manually.
  3587.  
  3588.           If BOOT.SYS finds a second name, it applies it to the current
  3589.           menu and as many succeeding menus as possible. If it comes to a
  3590.           menu in which it cannot use the second name, it looks in the
  3591.           BOOT.NXT file for a third configuration name and continues the
  3592.           process.
  3593.  
  3594.  
  3595.     BOOT.SYS                       -  68  -                   Version 2.00
  3596.  
  3597.  
  3598.  
  3599.          BOOT.SYS applies the configuration names in the order that they
  3600.          are listed in the BOOT.NXT file.  If BOOT.SYS can not apply
  3601.          either the current or the next configuration name at any time
  3602.          during this process,  it will stop to let the user continue
  3603.          manually from the menu where the error occurred.  It will use any
  3604.          /D parameter settings to position the selection bar, but it will
  3605.          disable all time-outs for the current menu and all following
  3606.          menus.
  3607.  
  3608.          There is one exception to the way BOOT.SYS processes names.  If
  3609.          you use an asterisk [*] alone for a configuration name (meaning
  3610.          "select the default item"), the asterisk will be applied to only
  3611.          one menu.  BOOT.SYS will use the next configuration name (if
  3612.          there is one) for the following menu or menus.  This lets you put
  3613.          an asterisk into the middle of a list of configuration names and
  3614.          have BOOT.SYS use the names that follow the asterisk.
  3615.  
  3616.  
  3617.      BOOT.SYS                       -  69  -                   Version 2.00
  3618.  
  3619.  
  3620.  
  3621.  
  3622.                                 Advanced Topics
  3623.  
  3624.  
  3625.  
  3626.  
  3627.      Nested Menus vs. Menu Sequences
  3628.  
  3629.           BOOT.SYS supports two different kinds of menus.  The more common
  3630.           are hierarchical or nested menus: there is a main menu and some
  3631.           of the selections lead on to one or more submenus that define the
  3632.           main choice in detail.  Let's illustrate this with an example:
  3633.  
  3634.  
  3635.                DEVICE=d:\path\BOOT.SYS       |
  3636.                DEVICE=BOOT.1 DOS             |   DOS
  3637.                   DEVICE=BOOT.A              |       plain
  3638.                   DEVICE=BOOT.1 plain        |       EMM386
  3639.                   DEVICE=BOOT.2 EMM386       |       QEMM
  3640.                   DEVICE=BOOT.3 QEMM         |   Windows
  3641.                   DEVICE=BOOT.Z              |
  3642.                DEVICE=BOOT.2 Windows         |
  3643.                DEVICE=BOOT.END
  3644.  
  3645.  
  3646.           The main menu presents only two choices, DOS or Windows;  if you
  3647.           choose DOS, you get a submenu with either plain DOS, or DOS with
  3648.           one of two memory managers.
  3649.  
  3650.           Now imagine you want to select whether to load a network driver
  3651.           or not.  With hierarchical menus, you have several ways of doing
  3652.           so, but you can't avoid duplication:
  3653.  
  3654.             *  Expand the main menu to four items, DOS or Windows, each
  3655.                with or without the network, and duplicate the submenu for
  3656.                the two DOS choices.
  3657.  
  3658.             *  Add a new main menu for the network question and duplicate
  3659.                the entire menu tree for Yes and No.
  3660.  
  3661.             *  Add a submenu to each of plain, EMM386, QEMM, and Windows,
  3662.                asking about the network.
  3663.  
  3664.           None of these choices is attractive because duplication results
  3665.           in additional complexity and makes your configuration files more
  3666.           difficult to maintain as you add more options.  The core of the
  3667.           problem is that the operating environment and the network are
  3668.           unrelated choices, but a hierarchical menu is based on a
  3669.           relationship between the choices.
  3670.  
  3671.  
  3672.     BOOT.SYS                       -  70  -                   Version 2.00
  3673.  
  3674.  
  3675.  
  3676.          What you really need is a set of independent menus or a menu
  3677.          sequence:
  3678.  
  3679.               DEVICE=d:\path\BOOT.SYS
  3680.                                             |
  3681.               DEVICE=BOOT.A                 |
  3682.               DEVICE=BOOT.1 load Network    |   Load Network
  3683.               DEVICE=BOOT.2 no Network      |   Don't Load Network
  3684.                                             |
  3685.               DEVICE=BOOT.B                 |   -----------------------
  3686.               DEVICE=BOOT.1 DOS             |
  3687.                  DEVICE=BOOT.A              |   DOS
  3688.                  DEVICE=BOOT.1 plain        |       plain
  3689.                  DEVICE=BOOT.2 EMM386       |       EMM386
  3690.                  DEVICE=BOOT.3 QEMM         |       QEMM
  3691.                  DEVICE=BOOT.Z              |   Windows
  3692.               DEVICE=BOOT.2 Windows         |
  3693.                                             |
  3694.               DEVICE=BOOT.Z                 |
  3695.               DEVICE=BOOT.END
  3696.  
  3697.          Now we have a menu A for the network question and a menu B for
  3698.          the operating environment.  Item B1 in menu B happens to contain
  3699.          a submenu, which we call B1A.  These are the menu names you will
  3700.          see in the lower right corner of the screen if you specify the /P
  3701.          parameter on the BOOT.SYS command line (see page 33).
  3702.  
  3703.          Note the similarity of syntax between submenus and menu
  3704.          sequences: submenus are really just menu sequences (with only one
  3705.          menu in this case) inside a menu item. You can combine nested
  3706.          menus and menu sequences in any way you like.  For example, you
  3707.          could add a menu C to define a third unrelated aspect of your
  3708.          configuration, a menu B1B to specify DOS=UMB or NOUMB, or a menu
  3709.          A1A to select among different networks.
  3710.  
  3711.          Instead of adding a submenu to A1, you might prefer to add more
  3712.          menu items (A3, A4, etc.) to menu A.  Only you know what works
  3713.          best for you.
  3714.  
  3715.  
  3716.     Using Variables and Conditionals in CONFIG.SYS
  3717.  
  3718.          Let's look at the previous example once again and assume that we
  3719.          cannot run the network software without a memory manager.  That
  3720.          is, there should be no "plain" choice in menu B when the user
  3721.          selected to start the network in menu A:
  3722.  
  3723.  
  3724.      BOOT.SYS                       -  71  -                   Version 2.00
  3725.  
  3726.  
  3727.                DEVICE=d:\path\BOOT.SYS
  3728.  
  3729.                DEVICE=BOOT.A
  3730.                DEVICE=BOOT.1 load Network
  3731.                   DEVICE=BOOT.SET NET=Y
  3732.                DEVICE=BOOT.2 no Network
  3733.  
  3734.                DEVICE=BOOT.B
  3735.                DEVICE=BOOT.1 DOS
  3736.                   DEVICE=BOOT.A
  3737.                   DEVICE=BOOT.? NOT %NET% == Y # plain
  3738.                   DEVICE=BOOT.# EMM386
  3739.                   DEVICE=BOOT.# QEMM
  3740.                   DEVICE=BOOT.Z
  3741.                DEVICE=BOOT.2 Windows
  3742.  
  3743.                DEVICE=BOOT.Z
  3744.                DEVICE=BOOT.END
  3745.  
  3746.           Here the "plain" choice is displayed only when the variable NET
  3747.           does not have a value of Y.
  3748.  
  3749.           Perhaps we always want to load the network driver into upper
  3750.           memory, using the proper command for the chosen memory manager:
  3751.  
  3752.                DEVICE=d:\path\BOOT.SYS
  3753.  
  3754.                DEVICE=BOOT.A
  3755.                DEVICE=BOOT.1 load Network
  3756.                   DEVICE=BOOT.SET NET=Y
  3757.                DEVICE=BOOT.2 no Network
  3758.  
  3759.                DEVICE=BOOT.B
  3760.                DEVICE=BOOT.1 DOS
  3761.                   DEVICE=BOOT.A
  3762.                   DEVICE=BOOT.? NOT %NET% == Y # plain
  3763.                   DEVICE=BOOT.# EMM386
  3764.                      device=c:\dos\HIMEM.SYS
  3765.                      device=c:\dos\EMM386.EXE ram
  3766.                      dos=umb
  3767.                      DEVICE=BOOT.IF %NET% == Y
  3768.                         devicehigh=d:\net\wd8003.sys
  3769.                      DEVICE=BOOT.ENDIF
  3770.                   DEVICE=BOOT.# QEMM
  3771.                      device=c:\qemm\QEMM386.SYS
  3772.                      DEVICE=BOOT.IF %NET% == Y
  3773.                         device=c:\qemm\LOADHI.SYS d:\net\wd8003.sys
  3774.                      DEVICE=BOOT.ENDIF
  3775.                   DEVICE=BOOT.Z
  3776.                DEVICE=BOOT.2 Windows
  3777.  
  3778.                DEVICE=BOOT.Z
  3779.                DEVICE=BOOT.END
  3780.  
  3781.  
  3782.     BOOT.SYS                       -  72  -                   Version 2.00
  3783.  
  3784.  
  3785.               DOS=NOUMB
  3786.  
  3787.          If you want to avoid duplicating the command line for the network
  3788.          driver, you can use another variable:
  3789.  
  3790.               DEVICE=d:\path\BOOT.SYS
  3791.  
  3792.               DEVICE=BOOT.A
  3793.               DEVICE=BOOT.1 load Network
  3794.                  DEVICE=BOOT.SET NET=Y
  3795.                  DEVICE=BOOT.SET NETDRVR=d:\net\wd8003.sys {parameters...}
  3796.               DEVICE=BOOT.2 no Network
  3797.  
  3798.               DEVICE=BOOT.B
  3799.               DEVICE=BOOT.1 DOS
  3800.                  DEVICE=BOOT.A
  3801.                  DEVICE=BOOT.? NOT %NET% == Y # plain
  3802.                  DEVICE=BOOT.# EMM386
  3803.                     device=c:\dos\HIMEM.SYS
  3804.                     device=c:\dos\EMM386.EXE ram
  3805.                     dos=umb
  3806.                     DEVICE=BOOT.IF %NET% == Y
  3807.                        devicehigh=%NETDRVR%
  3808.                     DEVICE=BOOT.ENDIF
  3809.                  DEVICE=BOOT.# QEMM
  3810.                     device=c:\qemm\QEMM386.SYS
  3811.                     DEVICE=BOOT.IF %NET% == Y
  3812.                        device=c:\qemm\LOADHI.SYS %NETDRVR%
  3813.                     DEVICE=BOOT.ENDIF
  3814.                  DEVICE=BOOT.Z
  3815.                  DEVICE=BOOT.SET NETDRVR=
  3816.               DEVICE=BOOT.2 Windows
  3817.  
  3818.               DEVICE=BOOT.Z
  3819.               DEVICE=BOOT.END
  3820.               DOS=NOUMB
  3821.  
  3822.  
  3823.     Using BOOT.SYS to manage LAN workstations
  3824.  
  3825.          If you are responsible for managing a number of PCs in an
  3826.          enterprise, BOOT.SYS can help you to keep them running smoothly.
  3827.          You may want to adopt some of these strategies:
  3828.  
  3829.            *  Create a single pair of configuration files to run on all
  3830.               your PCs.
  3831.  
  3832.            *  Set up a few officially-supported standard configurations
  3833.               and add some place holders.  Tell your advanced users how
  3834.               they can create their own configurations, if needed, and
  3835.               tell them not to change the standard configurations.
  3836.  
  3837.  
  3838.      BOOT.SYS                       -  73  -                   Version 2.00
  3839.  
  3840.  
  3841.  
  3842.             *  If you have dissimilar PCs, you can use commands like
  3843.                "BOOT.IF 386" to customize the menus and commands for the
  3844.                given hardware.  Users of 80286 PCs won't need to answer
  3845.                questions about 386 memory managers.
  3846.  
  3847.             *  With "BOOT.IF DOS x.yy" and "BOOT.IF DRDOS" you can adapt
  3848.                one pair of configuration files to run under different DOS
  3849.                versions.  (Warning: DR DOS severely limits the size of
  3850.                CONFIG.SYS!)
  3851.  
  3852.             *  You can further customize the configurations based on the
  3853.                presence of certain files with "BOOT.IF EXIST filename."
  3854.                The files can be application programs or even zero-byte
  3855.                "flags" that identify different machines and users.
  3856.  
  3857.             *  Use "BOOT.EXE ONCEADAY" to schedule periodic activities for
  3858.                you and your end users, such as daily backups.
  3859.  
  3860.  
  3861.      Sample Files, New Ideas
  3862.  
  3863.           To give you some more ideas, we have included sample files from
  3864.           some of our users.  They are located in the SAMPLES subdirectory
  3865.           of the BOOT.SYS installation directory.
  3866.  
  3867.           These files are intended to demonstrate different ways of using
  3868.           BOOT.SYS in the real world, but you must adapt them to your own
  3869.           system.  They contain references to commercial software packages
  3870.           which are not related to BOOT.SYS, and which you may not have.
  3871.           The command line syntax used in the sample files may not be
  3872.           correct for your system or your versions of other products.
  3873.  
  3874.           If you have an interesting setup that you would like to share
  3875.           with us, please send us your files and tell us explicitly if we
  3876.           have your permission to include them in a future release of
  3877.           BOOT.SYS.  We reserve the right to edit your files, but we will
  3878.           not remove your name if you decide to include it in a comment.
  3879.           Please do not add a copyright notice or advertisement.
  3880.  
  3881.  
  3882.     BOOT.SYS                       -  74  -                   Version 2.00
  3883.  
  3884.  
  3885.  
  3886.  
  3887.                              When Things Go Wrong
  3888.  
  3889.  
  3890.  
  3891.          Once you have BOOT.SYS installed and your new CONFIG.SYS and
  3892.          AUTOEXEC.BAT files correctly written for the configurations you
  3893.          use, you will rarely, if ever, see a BOOT.SYS error message.
  3894.          However, when you add a new configuration to your CONFIG.SYS
  3895.          file, or change the menu structure, you may accidentally inject
  3896.          errors that BOOT.SYS can not handle.
  3897.  
  3898.          When BOOT.SYS finds an error in your CONFIG.SYS file such as a
  3899.          misnumbered menu item or a misspelled command, it displays an
  3900.          error message and then performs an EMERGENCY RECOVERY.  BOOT.SYS
  3901.          cannot know the safest options to choose from your various menus
  3902.          when an error occurs, so it takes the most conservative approach
  3903.          possible: it hides all lines from DEVICE=d:\path\BOOT.SYS to
  3904.          DEVICE=BOOT.END from DOS.  If BOOT.SYS controls only a portion of
  3905.          your CONFIG.SYS file, the commands before and after the BOOT.SYS
  3906.          section will be executed normally.  If BOOT.SYS controls the
  3907.          entire CONFIG.SYS, DOS will boot using its default configuration,
  3908.          just as if no CONFIG.SYS file existed at all.
  3909.  
  3910.          Once BOOT.SYS has reported an error and performed its Emergency
  3911.          Recovery, you can edit your CONFIG.SYS file to correct the
  3912.          problem and then reboot your computer.
  3913.  
  3914.          There is a very good chance that your computer will be usable
  3915.          after an Emergency Recovery, but no guarantee.  You may need to
  3916.          use your boot diskette -- please keep it current.  However, you
  3917.          will probably have to use your boot diskette less often with
  3918.          BOOT.SYS, because you can safely experiment with configurations
  3919.          (e.g. different settings for a memory manager).  If one
  3920.          configuration becomes unusable, you can simply reboot and choose
  3921.          another configuration.
  3922.  
  3923.  
  3924.     Error Messages and Cures
  3925.  
  3926.          When BOOT.SYS detects a problem while it is processing your
  3927.          CONFIG.SYS file, it will report one or more of the following
  3928.          errors.  Some errors will be just warnings and you can boot up
  3929.          normally, others cause BOOT.SYS to perform its Emergency
  3930.          Recovery, and some may occasionally force you to boot with your
  3931.          emergency boot up diskette.  In all cases, you should fix the
  3932.          problem and reboot.  Most error messages are self-explanatory and
  3933.          are not documented here.  The suggestions below will help you fix
  3934.          some of the less obvious problems that BOOT.SYS may detect.
  3935.  
  3936.  
  3937.      BOOT.SYS                       -  75  -                   Version 2.00
  3938.  
  3939.  
  3940.  
  3941.         Error 1: No tabs allowed in CONFIG.SYS
  3942.  
  3943.           Some text editors replace multiple spaces with tabs.  Because of
  3944.           the way that DOS pre-processes the CONFIG.SYS file, BOOT.SYS
  3945.           cannot expand tabs properly.  To fix the problem, set your editor
  3946.           to save files without tabs.
  3947.  
  3948.         Error 2: "Unrecognized command" messages
  3949.  
  3950.           If you are using a version of DOS prior to 4.00, BOOT.SYS at
  3951.           times may be unable to properly hide the commands that you do not
  3952.           select.  DOS will then generate an error message after BOOT.SYS
  3953.           has finished processing the CONFIG.SYS file in memory.
  3954.  
  3955.           You can cure this problem by giving BOOT.SYS additional
  3956.           processing memory.  To do so, insert some long remark lines in
  3957.           the following format immediately after the
  3958.           DEVICE=d:\path\BOOT.SYS command line:
  3959.  
  3960.                DEVICE=BOOT.REM any text (make it long)
  3961.  
  3962.         Error 3: Warning.  This BOOT.SYS configuration defaults to DOS=UMB
  3963.  
  3964.           If some of your configurations contain the DOS=UMB command, it
  3965.           may "spill over" into other configurations that have neither
  3966.           DOS=UMB nor DOS=NOUMB configurations.  To avoid this, add the
  3967.           following line at the end of your CONFIG.SYS file, after the
  3968.           DEVICE=BOOT.END command:
  3969.  
  3970.                DOS=NOUMB
  3971.  
  3972.           This line will establish DOS=NOUMB as the default for all
  3973.           configurations that don't contain a DOS=UMB command.
  3974.  
  3975.           See page 22 for a discussion of the DOS= command.
  3976.  
  3977.         Error 4: Cannot load DOS HIGH
  3978.  
  3979.           See page 22 for a discussion of the DOS= command.
  3980.  
  3981.         Error 5: Load your XMS driver between BOOT.SYS and BOOT.END
  3982.  
  3983.           If you load an extended memory (XMS) driver like HIMEM.SYS, QEMM,
  3984.           or 386MAX before the DEVICE=d:\path\BOOT.SYS command, BOOT.SYS
  3985.           will be unable to control the DOS= settings.  You can either load
  3986.           the XMS driver in specific configurations or, if you always want
  3987.           it loaded, put the line
  3988.  
  3989.                DEVICE={your XMS driver}
  3990.  
  3991.           immediately after the DEVICE=d:\path\BOOT.SYS command.
  3992.  
  3993.  
  3994.     BOOT.SYS                       -  76  -                   Version 2.00
  3995.  
  3996.  
  3997.  
  3998.          See page 22 for a discussion of the DOS= command.
  3999.  
  4000.        Error 6: CONFIG.SYS may be too long.
  4001.  
  4002.          Some versions of DR DOS, and perhaps some other DOS clones,
  4003.          severely limit the size of CONFIG.SYS and discard any part of the
  4004.          file that extends past the limit.  If BOOT.SYS displays this
  4005.          error message, try reducing your CONFIG.SYS file to one or two
  4006.          configurations and work back up until you can determine the limit
  4007.          and the number of lines that will fit in the file.
  4008.  
  4009.        Error 7: Do not use an invisible background attribute.
  4010.  
  4011.          BOOT.SYS displays some of its error messages on top of the menu
  4012.          screen, so you can see how far it got building the current menu
  4013.          and the error message at the same time.  If you see this message,
  4014.          a previous BOOT.SYS error message may have been hidden because of
  4015.          your choice of a background color set the with the /Mbif
  4016.          parameter (see page 31).
  4017.  
  4018.          If you want a solid background, set the background character to a
  4019.          space with the /MK20 parameter and then use /MBif to set
  4020.          different foreground and background colors.
  4021.  
  4022.        Error 8: Out of space.
  4023.  
  4024.          BOOT.SYS needs some work space to process your CONFIG.SYS file.
  4025.          If it runs out of space (perhaps because you are making heavy use
  4026.          of variable expansion), it will not be able to continue.  To
  4027.          create more work space, insert some long remark lines in the
  4028.          following format immediately after the DEVICE=d:\path\BOOT.SYS
  4029.          command line:
  4030.  
  4031.               DEVICE=BOOT.REM any text (make it long)
  4032.  
  4033.          Do not use a standard REM command in place of the BOOT.REM
  4034.          command, because BOOT.SYS is not able to reclaim space from a DOS
  4035.          REM command.
  4036.  
  4037.        Error 9: Warning. Variable space overrun.
  4038.  
  4039.          BOOT.SYS does not have enough work space for passing on all the
  4040.          variables you defined using DEVICE=BOOT.SET via the SET command
  4041.          (see page 45).  A small part of BOOT.SYS will stay resident to
  4042.          store the remaining variables and BOOT SET in AUTOEXEC.BAT will
  4043.          put them into the environment.
  4044.  
  4045.          To avoid this situation, either delete some of the variables in
  4046.          the common section preceding BOOT.END (see page 48), or add some
  4047.          BOOT.REM commands as described for Error 8.
  4048.  
  4049.  
  4050.      BOOT.SYS                       -  77  -                   Version 2.00
  4051.  
  4052.  
  4053.  
  4054.         Error 10: Warning. Variable value starts with space.
  4055.  
  4056.           You have a command like
  4057.  
  4058.                DEVICE=BOOT.SET name= value
  4059.  
  4060.           in your CONFIG.SYS file.  Having a space (or tab) to the right of
  4061.           the equal sign [=] can lead to problems;  you should probably
  4062.           remove it. If you really need the space there, you can disable
  4063.           this message by appending the /W2 parameter to the
  4064.  
  4065.                DEVICE=d:\path\BOOT.SYS
  4066.  
  4067.           command line.
  4068.  
  4069.         Error 11: Warning. Variable name ends with space.
  4070.  
  4071.           You have a command like
  4072.  
  4073.                DEVICE=BOOT.SET name =value
  4074.  
  4075.           in your CONFIG.SYS file. Having a space (or tab) to the left of
  4076.           the equal sign [=] usually leads to problems;  please remove it.
  4077.           If you absolutely need the space there, and you know what you're
  4078.           doing, you can disable this message by adding the /W1 parameter
  4079.           to the
  4080.  
  4081.                DEVICE=d:\path\BOOT.SYS
  4082.  
  4083.           command line.
  4084.  
  4085.         Error 16: Due to a fatal error...
  4086.  
  4087.           If you see this message, it is very unlikely that the boot
  4088.           process can continue successfully.  Insert a bootable diskette
  4089.           into drive A, press Ctrl-Alt-Del to reboot the system, and edit
  4090.           your CONFIG.SYS file to correct the problems reported in the
  4091.           preceding error messages.
  4092.  
  4093.           You may press any key to continue after this message, but you do
  4094.           so at your own risk.  You will probably get many additional error
  4095.           messages and your computer may or may not be usable, depending on
  4096.           the contents of your CONFIG.SYS and AUTOEXEC.BAT files.  In some
  4097.           circumstances, continuing the boot process may even corrupt the
  4098.           data on your hard drive.
  4099.  
  4100.  
  4101.     BOOT.SYS                       -  78  -                   Version 2.00
  4102.  
  4103.  
  4104.  
  4105.  
  4106.     If You Can't Boot Up After Installation...
  4107.  
  4108.          If the BOOT.SYS menu doesn't come up when you reboot, DOS can't
  4109.          find the BOOT.SYS file.  Make sure the drive and path in the
  4110.  
  4111.               DEVICE=d:\path\BOOT.SYS
  4112.  
  4113.          line are correct.  If you load drivers or programs during the
  4114.          boot process that add or remap drive letters, such as disk
  4115.          compression or network software, you must place the BOOT.SYS
  4116.          files in a location that is available when DOS tries to load
  4117.          them.
  4118.  
  4119.          Also, DOS may need to load BOOT.SYS a second time when the
  4120.  
  4121.               DEVICE=BOOT.END
  4122.  
  4123.          line is executed, and it will look in the same location.  If your
  4124.          drive letters change between the BOOT.SYS and BOOT.END lines, you
  4125.          may have to put the BOOT.SYS files into directories with
  4126.          identical names on two different drives.  Under normal
  4127.          conditions, you will not notice the second invocation of the
  4128.          BOOT.SYS driver.
  4129.  
  4130.          Another possible cause for not being able to boot up is that
  4131.          BOOT.SYS displays an error message and is unable to continue.
  4132.          Most error messages are self-explanatory;  some of them are
  4133.          explained in more detail in the preceding section.  Correct the
  4134.          problem and boot up again.
  4135.  
  4136.        Manual Installation
  4137.  
  4138.          If you cannot get BOOT.SYS up and running, try the following
  4139.          procedure.  Also, please try this procedure before you call for
  4140.          support:
  4141.  
  4142.            1. Create a single-configuration CONFIG.SYS and AUTOEXEC.BAT
  4143.               and verify that you can boot up with them.
  4144.  
  4145.            2. Add the following lines at the top of CONFIG.SYS:
  4146.  
  4147.                 DEVICE=d:\path\BOOT.SYS
  4148.                 DEVICE=BOOT.1 standard
  4149.                 DEVICE=BOOT.2 custom
  4150.                 DEVICE=BOOT.END
  4151.  
  4152.            3. Reboot and verify that you get the BOOT.SYS menu.  Either
  4153.               choice should boot up your single configuration.
  4154.  
  4155.  
  4156.      BOOT.SYS                       -  79  -                   Version 2.00
  4157.  
  4158.  
  4159.  
  4160.             4. Move the last two of the four lines above to the end of
  4161.                CONFIG.SYS and reboot;  your Standard configuration should
  4162.                still work, the other one may or may not work.
  4163.  
  4164.             5. Copy of the lines between BOOT.1 and BOOT.2 and place them
  4165.                between BOOT.2 and BOOT.END.  Now you should have two
  4166.                identical configurations (try it out!).
  4167.  
  4168.             6. Make some changes that are easy to verify to your second
  4169.                configuration and confirm that you can now choose between
  4170.                two different configurations.
  4171.  
  4172.             7. Add the DEVICE=BOOT.SET commands to CONFIG.SYS and set up
  4173.                AUTOEXEC.BAT as explained on page 18.
  4174.  
  4175.             8. Now add more configurations, one at a time, and try them out
  4176.                until you have what you want.
  4177.  
  4178.           If you still can't get BOOT.SYS to work correctly, see the README
  4179.           file for your support options.
  4180.  
  4181.  
  4182.     BOOT.SYS                       -  80  -                   Version 2.00
  4183.  
  4184.  
  4185.  
  4186.  
  4187.                              License and Warranty
  4188.  
  4189.  
  4190.          Please see the file LICENSE.DOC.
  4191.  
  4192.  
  4193.     BOOT.SYS                       -  12  -                   Version 2.00
  4194.  
  4195.  
  4196.  
  4197.  
  4198.                                The User's View
  4199.  
  4200.  
  4201.  
  4202.          When BOOT.SYS is installed on a computer, the user typically sees
  4203.          two text windows on the screen during the boot process.  The
  4204.          upper window contains messages or any text that you would like to
  4205.          have displayed.  The lower window contains a menu.  Depending on
  4206.          the BOOT.SYS instructions in the CONFIG.SYS file, several menus
  4207.          may appear sequentially and some menu choices may lead to
  4208.          submenus.
  4209.  
  4210.  
  4211.  
  4212. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4213. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4214. ░░░░░░░░░░░░░░░░░░░░░ ╔═════════════════════════════════╗ ░░░░░░░░░░░░░░░░░░░░░░
  4215. ░░░░░░░░░░░░░░░░░░░░░ ║                                 ║ ▒▒░░░░░░░░░░░░░░░░░░░░
  4216. ░░░░░░░░░░░░░░░░░░░░░ ║    Select Your Configuration    ║ ▒▒░░░░░░░░░░░░░░░░░░░░
  4217. ░░░░░░░░░░░░░░░░░░░░░ ║                                 ║ ▒▒░░░░░░░░░░░░░░░░░░░░
  4218. ░░░░░░░░░░░░░░░░░░░░░ ╚═════════════════════════════════╝ ▒▒░░░░░░░░░░░░░░░░░░░░
  4219. ░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░
  4220. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4221. ░░░░░░░░░░░░░░░░░░ ╔═══════════════════════════════════════╗ ░░░░░░░░░░░░░░░░░░░
  4222. ░░░░░░░░░░░░░░░░░░ ║> 1 - Standard (4DOS, 386^MAX, Cache) <║ ▒▒░░░░░░░░░░░░░░░░░
  4223. ░░░░░░░░░░░░░░░░░░ ║  2 - Standard + Network               ║ ▒▒░░░░░░░░░░░░░░░░░
  4224. ░░░░░░░░░░░░░░░░░░ ║  3 - Windows Enhanced                 ║ ▒▒░░░░░░░░░░░░░░░░░
  4225. ░░░░░░░░░░░░░░░░░░ ║  4 - Windows Enhanced + CD-ROM        ║ ▒▒░░░░░░░░░░░░░░░░░
  4226. ░░░░░░░░░░░░░░░░░░ ║  5 - Host Connection                  ║ ▒▒░░░░░░░░░░░░░░░░░
  4227. ░░░░░░░░░░░░░░░░░░ ║  6 - plain DOS                        ║ ▒▒░░░░░░░░░░░░░░░░░
  4228. ░░░░░░░░░░░░░░░░░░ ║  7 - plain DOS, EMM386                ║ ▒▒░░░░░░░░░░░░░░░░░
  4229. ░░░░░░░░░░░░░░░░░░ ║  8 - Backup                           ║ ▒▒░░░░░░░░░░░░░░░░░
  4230. ░░░░░░░░░░░░░░░░░░ ║  9 - Experimental Configuration       ║ ▒▒░░░░░░░░░░░░░░░░░
  4231. ░░░░░░░░░░░░░░░░░░ ╚═══════════════════════════════════════╝ ▒▒░░░░░░░░░░░░░░░░░
  4232. ░░░░░░░░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░
  4233. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4234. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4235. ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  4236.  BOOT.SYS - 2.00   Copyright (c) 1989-93 Hans Salvisberg.  All rights reserved.
  4237.  
  4238.  
  4239.  
  4240.                                 Sample BOOT.SYS screen
  4241.  
  4242.  
  4243.          The user may select an item in several different ways.  The most
  4244.          intuitive selection method is moving the highlight or selection
  4245.          bar to the desired item and pressing the Enter or CursorRight
  4246.          key.  New users often favor this method, but experienced users
  4247.          prefer a quicker way of making a selection, especially once they
  4248.          know what to expect from each menu.